Есть два пути. Если объект «поведения» имеет доступ к GrandChild, GrandChild имеет корневое свойство (которое, удобно) является корневым - это будет работать только при наличии пути к корню. Вы не можете удалить ребенка (или его родителей), а затем ожидать непосредственного доступа к корню. Но если у вас есть объект DisplayObject, о котором вы знаете , вы можете использовать его для прямой связи с корнем. (Вы также можете при правильном кастинге получить доступ ко всем родителям, бабушкам и дедушкам внука).
Вы также можете иметь централизованный EventDispatcher, который прослушивается всем, что вы хотите слушать. По сути, создайте Singleton (вам нужно будет это найти для AS3), который подклассов EventDispatcher, и затем скажите ему, что нужно отправлять любые события, которые вам нужны.
Это будет выглядеть примерно так:
//on the root
EventDispatcher.getInstance().addEventListener( "myCustomEvent", myEventhandler );
//in behavior
EventDispatcher.getInstance().dispatchEvent( new Event( "myCustomEvent" ) );
//root now acts accordingly.