Hi, guys. I'm know there is a component MouseInteraction to determine is the mouse pointer over / click some component. I'm know about component CustomButton shipped with MatchThree game example. I'm know about methods family UIControlsService.addOnClickCallback. How to properly work with these things? How to separate the logic of button behaviour from the logic of game behaviour? Should I use events? For example, I can create ButtonsSystem to register all buttons, their handlers for Click / Over / Out / Normal events, then dispatch such events when it's needed. Is it a valid approach? Are there any existing solutions for that?