eventlistener bindings refactor