package Events { import flash.utils.getQualifiedClassName; public final class MyEventDispatcher extends MyDispatcher { private static var _instance:MyEventDispatcher; public function MyEventDispatcher(dummy:Dummy):void { super(); if (dummy === null) { throw new Error("Call CustomEventDispatcher as CustomEventDispatcher.instance!"); } } public static function get instance():MyEventDispatcher { if (_instance === null) { _instance=new MyEventDispatcher(new Dummy()); trace("new instance " + getQualifiedClassName(_instance)); } trace("get instance " + getQualifiedClassName(_instance)); return _instance; } } } internal class Dummy { }