class DatagridEvents extends EventGroup { var change:Event<String->DataGrid->Void>;}class Datagrid { var events : DatagridEvents;}typedef ListenerHandlers = { var onDataChange : Binding;}class Listener implements EventHandlers<ListenerHandlers>{ var handlers : ListenerHandlers; function onDataChange(value:String, grid:Datagrid){ ... } public function new(){ var d = new Datagrid(); handlers = { onDataChange : d.events.change.bind(onDataChange); } handlers.onDataChange.disable(); // Temp. disable this handler (it will not listen to events) Event.unbind(this); // Unsubscribes all handlers for this object }}