Доброго времени суток.
Никак не могу разобраться почему не выполняется диспетчеризация пользовательского события...
Есть класс Class1, который расширяет EventDispatcher:

Код AS3:
package test {
import flash.events.*;
public class Class1 extends EventDispatcher {
public static const NEW:String = "NEW"; // создаю константу с именем события
public function Class1( ) {
}
public function testFunc( ):void { // функция, которая вызывается в третьем классе
dispatchEvent(new Event(Class1.NEW)); // диспетчеризация события
}
}
}
Также есть класс Class2, который отвечает за отображение объектов на экране и расширяет Sprite:

Код AS3:
package test {
import flash.events.*;
import flash.display.*;
public class Class2 extends Sprite {
private var class1:Class1;
public function Class2( ) {
class1 = new Class1( ); // создаю экземпляр класса class1
addUserListeners( );
}
public function addUserListeners( ):void {
class1.addEventListener(Class1.NEW, newListener); // регистрирую приёмник в экземпляре класса
}
public function newListener(e:Event):void {
trace("Вызов прошёл!");
}
}
}
И собственно, третий класс, в котором выполняется функция testFunc( ) и успешная диспетчеризация нескольких других событий:

Код AS3:
package test {
import flash.events.*;
public class Class3 extends EventDispatcher {
private var class1:Class1;
public function Class3( ) {
class1 = new Class1( );
test( );
}
public function test( ) {
class1.testFunc( );
}
// дальше выполняется успешная диспетчеризация других событий, код не показан
}
}
В итоге не выполняется диспетчеризация Class1.NEW. Функция при это выполняется без проблем testFunc( ). Совсем запутался. Подскажите пожалуйста в чём может быть дело.