Здравствуйте. Есть класс MainEvent.as:

Код AS3:
package base.events {
import flash.events.Event;
public class MainEvent extends Event {
protected var $data:*;
public function MainEvent(type:String, data:* = null, bubbles:Boolean = false, cancelable:Boolean = false) {
$data = data;
super(type, bubbles, cancelable);
}
public override function clone():Event {
return new MainEvent(type, data, bubbles, cancelable);
}
public override function toString():String {
return formatToString("MainEvent", "type", "bubbles", "cancelable", "eventPhase");
}
public function get data():* { return $data; }
}
}
И есть слушатель этого события, смысл существования которого в том, чтобы передать его дальше (глубже в иерархию экранных объектов), до которых оно (нужное событие) по непонятной причине не доходит:

Код AS3:
this.addEventListener(CHANGE_STATE, onChangeStateNeeded);
private function onChangeStateNeeded(e:MainEvent){
cont.dispatchEvent(e);//cont - спрайт в котором вложена серия объектов, в которых находятся объекты жаждущие получить событие
}
Но вот как раз при выполнении этого слушателя происходит ошибка (текст из FlashDevelop):

Код:
[Fault] exception, information=undefined
Почему так? Ведь если отправлять вместо MainEvent, Event то ошибки нет