Я бы делал так:

Код:
public class ClassWithEvents {
public var clickFunction:Function = null;
public function ClassWithEvents() {
this.addEventListener(MouseEvent.CLICK,myClickFunction);
}
private function myClickFunction(event:MouseEvent) {
if (clickFunction != null)
clickFunction(event);
}
}
Или если позволяет структура програмы то так:

Код:
public class ClassWithEvents {
public function ClassWithEvents(clickFunction:Function) {
this.addEventListener(MouseEvent.CLICK,clickFunction);
}
}
Соответственно использовать первый вариант можно так:

Код:
var a:ClassWithEvents = new ClassWithEvents();
a.clickFunction = somePrivateFunction;
И второй вариант:

Код:
var a:ClassWithEvents = new ClassWithEvents(somePrivateFunction);