I'm getting it run every time I hover a mouse over the button. Isn't it a bug? I thought it must be executed just once on addon activation.
____init____() function for BPY types (especially UI stuff) can be unpredictable and should not be used. You likely want to be overloading the
draw() method instead.