package haxework.dispath; import haxe.ds.ObjectMap; interface IDispatcher { private var listeners(null, null):ObjectMap; public function addListener(listener:L):Void; public function removeListener(listener:L):Bool; public function removeAllListeners():Void; public function dispatch(caller:L->Void):Void; }