Видимо без кода не понятно. ок.
2 Кордум можно и событиями не суть.

Код AS3:
static class
...
static var nc:NetConnection = new NetConnection();
function connect(callBack:Function):void
nc.connect('rmtp.....');
f = callBack;
nc.addEventListener(NetStatus..... , onStatus)
function onStatus(e:Event) { if(connect) f(); } // первый пошел
function returnValue(param) { nc.call('Function' , new Responder(someF) , param) } // вот тут появляется второй колбек и т.д.
Main
StaticClass.connect(someFunc);
function someFunc() {
StaticClass.returnValue(val);
}