Hola, en mi tiempo libre estaba viendo que la manera mas óptima de agregarle propiedades a los objetos es creando una clase y extendiendola, ahora, es esta la manera de extender la clase?
tengo un codigo como este:

Código :

class miClase extends Button
{
   private var instanceName:String;
   private var miBotoncin:Button;
   
   public function miClase(ptheObject:Button)
   {
      this.miBotoncin = ptheObject;
      this.miBotoncin._visible = true;
      this.instanceName = "";      
   }
   
   public function setName(pinstanceName:String):Void
   {
      this.instanceName = pinstanceName;
   }
   
   public function getName():String
   {
      return this.instanceName;
   }
   public function enbotonPresionado()
   {
      this.miBotoncin.onPress = fnImprime;
   }
   public function fnImprime()
   {
      trace(this);
   }
}


De la cual hago una instancia de esta manera:

Código :

 import miClase;
 miInstance = new miClase(btnmiBoton);
 //Este es un boton arrastrado al escenario, de los componentes ya creados
 miInstance.enbotonPresionado();


y me imprime _level0.btnmiBoton esto... pero no debería hacer algo como
_level0.miInstance.btnmiBoton

Es esta una manera genérica para extender los objetos o es incorrecto lo que hago?
Saludos.