To maintain a clear communication among all components / objects, especially for objects do not in the same event bubble path.
+---------------------------+ | containerObject | | +---------+ +---------+ | | | objectA | | objectB | | | +---------+ +---------+ | +---------------------------+ When a event/change occurs in objectA, objectB would fire some fun(). Method A: Let the containerObject catch the event and invoke objectB.fun() Method B: binding somedata of objectA with objectB, register dataChangeEvent in objectB. Both above will get more and more complex and un-maintainable with system growth. Thus, I need a "Global centralized event(message) controller" Like EventListenerList used in Java Swing Maybe I find what I need: http://tech.groups.yahoo.com/group/flexcoders/message/66101 http://www.helihobby.com/html/alon_desingpattern.html also CairngormEventDispatcher