Need a little help. Singleton ENTER_FRAME UpdateList class doesn't work?

I’m making a class that manages all of my updates with a single ENTER_FRAME. I think I should be getting the OnUpdate trace but it doesn’t seem to work? Could someone help me out? I’m not sure what I’m doing wrong.


package src {
    import flash.events.Event;
    import flash.events.EventDispatcher;
    
    /**
     * UpdateList
     * @author rotaercz
     */
    public class UpdateList extends EventDispatcher {
        private static var _instance:UpdateList;
        private static var _allowInstantiation:Boolean;
        
        private static var _updateList:Vector.<Function> = new Vector.<Function>();
        
        public static function GetInstance():UpdateList {
            if (_instance == null) {
                _allowInstantiation = true;
                _instance = new UpdateList();
                _instance.addEventListener(Event.ENTER_FRAME, OnUpdate);
                _allowInstantiation = false;
            }
            
            return _instance;
        }
        
        public function UpdateList():void {
            if (!_allowInstantiation) {
                throw new Error("Instantiation failed: Use UpdateList.GetInstance() instead of new.");
            }
        }
        
        private static function OnUpdate(e:Event):void {
            trace("OnUpdate");
            for (var i:int=0; i<_updateList.length; i++) {
                _updateList*();
            }
        }
        
        public static function AddToUpdateList(func:Function):void {
            _updateList.push(func);
        }
        
        public static function CleanUp():void {
            _instance.removeEventListener(Event.ENTER_FRAME, OnUpdate);
            _updateList = null;
        }
    }
}

Usage:


UpdateList.GetInstance();
UpdateList.AddToUpdateList(asdf);

private function asdf():void {
      trace("asdf");
}