Вот на таком простом примере не могу получить номер кнопки на которую нажал,
так чтобы эта переменная была доступна в классе Main

Код:
public class Main extends MovieClip
{
public var playList:Array;
public function Main()
{
init();
};
private function init():void
{
playList = new Array();
playList.push("A", "B", "C", "D");
for (var i:int = 0; i < playList.length; i++)
{
var playlistButton:MyButton = new MyButton(i);
playlistButton.x = 50;
playlistButton.y = i*25;
playlistButton.songname.text = "hello"+i;
playlistButton.addEventListener(MouseEvent.CLICK, handleButtonClick);
addChild(playlistButton);
};
};
private function handleButtonClick(e:MouseEvent):void
{
trace(playlistButton.buttonNumber);
};
};

Код:
public class MyButton extends MovieClip
{
public var songButton:MovieClip;
public var songname:TextField;
public var buttonNumber:int;
public function MyButton()
{
this.buttonNumber = i;
init();
};
private function init():void
{
songname = new TextField();
songButton = new MovieClip();
songButton.graphics.drawRect(songname.x, songname.y, songname.width, songname.height);
songButton.graphics.endFill();
songButton.addChild(songname);
songname.mouseEnabled = false;
songButton.buttonMode = true;
addChild(songButton)
};
все компилируется, но при клике

Код:
1119: Access of possibly undefined property buttonNumber through a reference with static type classes:MyButton.
прочитал, что при создании экземпляров лучше заносить каждую кнопку в массив, но получается чтобы к ней обратится надо знать номер элемента массива, что соответствует номеру кнопки, который я хочу найти.