Extending a class

…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?