…and capturing an event from extended class.
i am extending class B from class A.
snippet form class A (ButtonControl):
protected function overControls(e:MouseEvent):void {}
protected function outControls(e:MouseEvent):void {}
private function clickControls(e:MouseEvent):void {
            
     _targetName = e.target.name;
              
     dispatchEvent(new Event(ButtonControl.CLICK));
        
}
        
public function getName():String{
            
     return _targetName; 
            
}
snippet from class B (ButtonControlTint):
override protected function overControls(e:MouseEvent):void {}
override protected function outControls(e:MouseEvent):void {}
as you can see in class A i am dispatching an event, but the only way to listen for it (as i figured it out) is to add the listener to instance of class B.
(which ofcourse mean i have to import class A as well)
import ButtonControlTint;
import ButtonControl;
var btt:ButtonControlTint = new ButtonControlTint( params );
btt.addEventListener(ButtonControl.CLICK, clickControls, false, 0, true);
function clickControls(e:Event = null):void {
    trace(btt.getName());
}
is this fine?