no, ascolta preferisco non interferire con la logica degli script scritti da qualcun altro... piuttosto ti faccio un esempio semplicissimo estendendo come te il SimpleButton

Codice PHP:
package {
    
import flash.display.MovieClip;
    
import flash.display.SimpleButton;
    
import flash.events.Event;
    public class 
Test extends SimpleButton {
        private var 
__clip:MovieClip;
        public function 
Test(){
            
__clip = new MovieClip();
            
__clip.graphics.beginFill(0x00FFFF);
            
__clip.graphics.drawRect(0,0,100,100);
            
trace(stage); // output: null
            // se provo ad attaccare allo stage il __clip in questo momento, ottengo un errore
            // stage.addChild(__clip);
            
addEventListener(Event.ADDED_TO_STAGE__added__);
        }
        private function 
__added__(e:Event){
            
trace(stage); // output: [object Stage]
            // mentre se lo attacco dentro la funzione comandata dall'evento Event.ADDED_TO_STAGE
            // la proprietà stage, ereditata dalla classe SimpleButton
            // viene "riempita" con il riferimento allo stage su cui verrà attaccata l'istanza della classe Test
            // di conseguenza, richiamando dentro un metodo della classe Test, il metodo addChild, legato allo stage
            // attaccherò correttamente sullo stage il __clip
            
stage.addChild(__clip);
        }
    }

e sulla timeline principale
Codice PHP:
var sb:Test = new Test();
addChild(sb);