class Foo {

	var dispatchEvent:Function;
	private var __aaa:String;
	
	function Foo() {
		mx.events.EventDispatcher.initialize(this);
	}

	[ChangeEvent("aaaChanged")]
	function get aaa():String {
		return __aaa;
	}
	
	function set aaa(s:String):Void {
		__aaa = s;
		dispatchEvent({type:"aaaChanged"});
	}
}