EventDispatcherは継承しなくてもヨイ

ListCollectionViewのソースを何気なく見ていたら、IEventDispatcherの
実装を委譲でやっていてビックリしました。

EventDispatcherってこういう使い方ができるんだ・・・

public class NewClass implements IEventDispatcher
{
   private var eventDispatcher:EventDispatcher;

    public function NewClass()
    {
        super();
        eventDispatcher = new EventDispatcher(this);
    }

    public function addEventListener(type:String,
                                     listener:Function,
                                     useCapture:Boolean = false,
                                     priority:int = 0,
                                     useWeakReference:Boolean = false):void
    {
        eventDispatcher.addEventListener(type, listener, useCapture,
                                         priority, useWeakReference);
    }

    public function removeEventListener(type:String,
                                        listener:Function,
                                        useCapture:Boolean = false):void
    {
        eventDispatcher.removeEventListener(type, listener, useCapture);
    }

    public function dispatchEvent(event:Event):Boolean
    {
        return eventDispatcher.dispatchEvent(event);
    }

    public function hasEventListener(type:String):Boolean
    {
        return eventDispatcher.hasEventListener(type);
    }


    public function willTrigger(type:String):Boolean
    {
        return eventDispatcher.willTrigger(type);
    }
}