Здравствуйте, столкнулся с проблемой выставления приоритетов прослушивателей эвентов. Есть два типа эвентов - один отвечает за информирование о состоянии (MyFirstEvent), второй о непосредственно сообщает о действии, которое нужно выполнить (MySecondryEvent). В экземпляре класса MovieClip в конструкторе добовляю прослушивальщика MySecondryEvent. Ожидалось, что после создания экземпляра класса MyTestObject и установки прослушивальщика MyFirstEvent с более высоким приоритетом, чем у MySecondryEvent при отмене эвента, не будет обрабатываться следующий за ним. На деле оказалось не так =( В чем может быть проблема?

Код AS1/AS2:
public class MyFirstEvent extends Event {
public static const ITS_HAPPENED:String = "atata";
public function MyFirstEvent (type:String):void
{
super(type, false, true);
}
public override function toString():String
{
return formatToString("MyFirstEvent");
}
public override function preventDefault():void
{
stopImmediatePropagation();
}
}
public class MySecondryEvent extends Event {
public static const ACTION:String = "action";
public function MySecondryEvent (type:String):void
{
super(type);
}
}
public class MyTestObject extends MovieClip {
public function MyTestObject()
{
addEventListener(MySecondryEvent.ACTION, actionFunction, false, 0);
}
private function actionFunction(e:MySecondryEvent):void
{
trace('its, happened');
}
}
var o:MyTestObject = new MyTestObject();
o.addEventListener(MyFirstEvent.ITS_HAPPENED, handlerFunction, false, 1);
function handlerFunction(e:MyFirstEvent):void
{
trace('MyFirstEvent run');
e.preventDefault();
}
dispatchEvent(new MyFirstEvent(MyFirstEvent.ITS_HAPPENED));
dispatchEvent(new MySecondryEvent(MySecondryEvent.ACTION));
// MyFirstEvent run
// its, happened