Теперь target всегда сохраняется при клонировании и его не нужно явно передавать в конструктор MyEvent()

Код AS3:
package {
import flash.events.Event;
/**
* ...
* @author Vadim BELLinSKY
*/
public class MyEvent extends Event {
private var _target:Object;
public function MyEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, target:Object = null):void {
super(type, bubbles, cancelable);
this._target = target;
}
override public function clone():Event {
return new MyEvent(super.type, super.bubbles, super.cancelable, this.target);
}
override public function get target():Object {
return this._target ? this._target : super.target;
}
}
}
UPD
Вообще все затевается ради всплывания событий в дереве моделей... я начинаю думать, что это лишнее.
Зачем какой-то модели следить не за непосредственно подопечными, а и за их подопечными.
Ну т.е. если меняется дочерняя модель — событие CHANGE, на которое реагирет изменениями текущая модель, что вызывает тот же CHANGE уже для его родителя.
Поправьте, есличё.