feat(binding): add message control hook
feat(binding): make events follow common convention, using EventHandler