если решать задачу в лоб, то меняй события, на методы инициализации класса, с ними работать проще

Код AS3:
public function init(handler:Function):void{
//loading..
handler();
}
дальше задаешь последовательность

Код AS3:
var queue:Array=[myClassLoader.init, myClassLoader2.init,...]
и отправляешь ее в функцию параллельного вызова

Код AS3:
function listCall(handlers, cb){
var queue=handlers.length;
handlers.forEach(function(handler) {
handler(function(){
if (--queue==0)
cb&&cb()
})
});
}
или последовательного

Код AS3:
function chainCall(handlers, cb){
var handler=handlers.shift();
if (!handler)
return cb&&cb();
handler(function(){
chain(handlers, cb)
})
}
Типа таких, писал по-памяти. Но 100% что сама проблема у тебя в архитектуре, и решение такое тут не лучшее