Не могу понять, можно ли с помощью пользовательского event'а не просто разослать сообщение, что он был, но и передать какие-то данные.
Вот такой пример. Пытаюсь, скажем, сделать текстовое поле с логом сообщений, приходящих заранее неизвестно из какой части программы:

Код AS3:
package com.log {
import flash.events.*;
import flash.text.TextField;
import flash.display.Sprite;
public class Log extends Sprite {
public static const ADD_LOG:String = 'add_log';
private var log:TextField = new TextField();
public function Log(p:Sprite) {
p.addChild(log);
p.stage.addEventListener(Log.ADD_LOG, addLog);
}
public function addLog (e:Event):void {
log.appendText(e.target.msg+"\n");
}
}
}
В классе документа:

Код AS3:
.........
public var msg:String;
...........
log = new Log(this);
............
msg = 'Что-то там';
dispatchEvent(new Event(Log.ADD_LOG, true));
Так это работает, но как быть, если нужно добраться до этого лога откуда-то еще?
Например, из класса, которого вообще нет в списке отображения?
Видимо, нужно строку сообщения как-то прицепить к самому event'у.
Кажется, должно быть что-то простое и очевидное, но в примерах ничего не нахожу.