event bindings refactoring