Hi,
UI is very heavy on handling, so don't be surprised by this, simple hello world always look simple, but when you actually want a proper UI, a lot of work is required, and often completly overlooked in favor of the gameplay itself...
your implementation sound good. I usually make sure my events reflect where they come from so :
XXX / ON BUTTON CLICK
then my logic will catch this and maybe send more events related to XXX
XXX / EXECUTE
Things like that.
Bye,
Jean