Не знаю как правильно назвать тему, извиняйте.
Давно мучает такой вопрос, есть у нас класс управляющий сервером, тоесть класс приемник данных от сервера и соотв диспатчит события при приходе определенных данных. Задача - подписываться на события из разных классов.
Самый простой вариант делаем класс статическим, создавая внутри диспатчер, и теперь из любой точки можно подписаться как

Код AS3:
StaticClass.addEventListener(...)
( естевенно addEventListener кастомный метод ). Так например на часть событий я могу подписаться в одном классе, а на часть в другом, или даже выписывать одни и теже события в разных классах выполняя различные методы.
Вариант два, так же статик, но передавать туда диспатчер типа

Код AS3:
StaticClass.dispatcher = internalDispacther;
internalDispatcher.addEventListener...
А в каждом новом классе internalDispatcher = StaticClass.dispatcher;
Этот самый вариант 2, видимо самый и убогий.
Но вариант 1, тоже не блещет, где то говорилось и обсуждалось , что статик в этом случае не есть тру.
Так вот интересно ваше мнение,
1. имеет право на жизнь статик в данном контексте ?
2. если не статик, то как ?
Архитектруа

Код AS3:
ServerClass
....
function onGetData(data) { ???.dispatchEvent(...) }
//
SomeOtherClass
...
???.addEventListener(ServerClassEvents.SOME_EVENT... )
...
SomeOtherOtherClass и т.д.
???.addEventListener(ServerClassEvents.SOME_EVENT... )