back2dos упомянул подход, который вы должны использовать, я расширил класс movieclip и реализовал все виды функций, которые я использую ежедневно, но не являюсь частью класса movieclip. включая переопределение для класса addEventListener
protected var listeners : Dictionary = new Dictionary();
override public function addEventListener( type : String, listener : Function, useCapture : Boolean = false, priority : int = 0, useWeakReference : Boolean = true) : void
{
var key : Object = {type:type,useCapture:useCapture};
if( listeners[ key ] ) {
removeEventListener( type, listeners[ key ], useCapture );
listeners[ key ] = null;
}
listeners[ key ] = listener;
super.addEventListener( type, listener, useCapture, priority, useWeakReference );
}
protected function removeListeners () : void
{
try
{
for (var key:Object in listeners) {
removeEventListener( key.type, listeners[ key ], key.useCapture );
listeners[ key ] = null;
}
}catch(e:Error){}
}