Намного проще сделать что-нибудь типа такого:

Код AS3:
button1.addEventListener(MouseEvent.CLICK, Click);
button2.addEventListener(MouseEvent.CLICK, Click);
button3.addEventListener(MouseEvent.CLICK, Click);
button4.addEventListener(MouseEvent.CLICK, Click);
//Много слушателей...
function Click( e:MouseEvent ):void {
if ( /*Условие.*/ ) {
Func1();
}
else {
Func2();
}
}
function Func1():void {};
function Func2():void {};
То есть. В той функции, которая висит на слушателе, проверяешь условие и выполняешь нужную тебе функцию.