And I'm going add one more bit, to hopefully clarify the situation: What both Charlie and Scott have said is absolutely correct, and valuable advice. The only thing I'm tossing in, because Charlie's post mentions extending IEventDispatcher, is this: in general, the components/classes which extend that interface are *visual* components. That's what Charlie means when he speaks about objects being on the stage.
You may have understood this -- and I'm not suggesting that Charlie was unclear -- but since his reference was to "the stage," which is a term familiar to Flash developers but not so much for Flex developers, I thought I'd make the distinction. So your basic rule-of-thumb can be "if I can see it, it can dispatch events. If I can't, then it won't dispatch events unless I do something to give it that capability." And there are times when it's extremely handy to dispatch events from non-visual components - not necessarily from value objects, but from things like managers. That's why some frameworks build in ways to do that. For example, the Mate framework includes a <Dispatcher> tag, and you can create the ability to dispatch an event inside an ActionScript object by importing Mate's Dispatcher class. -- Thanks, Tom Tom McNeer MediumCool http://www.mediumcool.com 1735 Johnson Road NE Atlanta, GA 30306 404.589.0560
