private function handleCreationComplete():void {
sampleButton.addEventListener(MouseEvent.CLICK, createClickListener(1));
sampleButton.addEventListener(MouseEvent.CLICK, createClickListener(2));
}
private function createClickListener(clickLimit:int):Function {
var clickCount:int = 0;
return function(mouseEvent:MouseEvent):void {
clickCount++;
trace("Click limit", clickLimit, "registering click", clickCount);
if (clickCount >= clickLimit) {
trace("Click limit", clickLimit, "no longer listening");
mouseEvent.target.removeEventListener(MouseEvent.CLICK, arguments.callee);
}
}
}