Sergey,
your suggestion was to use interactivechange, which means after each button pressed do the following, if it is as simple as a proper case why bother with interactive change?. Why not do it when leaving the object unless other things need checking
Iain Brodie