Let's see if ECMAScript Harmony can do this
package jet.core
{
import jet.events.*;
public class UIComponent extends EventDispatcher
{
// more
}
}
package jet.events
{
public class EventDispatcher
{
// more
public function dispatchEvent(event:Event):Boolean
{
// somewhere, "if (this is UIComponent) for children..."
}
}
}