It seems that events are only raised on a specific object (with raise_event) or its direct children (raise_event_on _children). In most event systems events bubble up and/or trickle down in hierarchy. That is useful for decoupling objects. An object can raise an event without worrying which other object(s) will handle the event.
If there are good reasons to keep the event system unchanged, please document it better. Include that events are directed and include examples with unrelated objects, where one object handles events from another object, where the objects are “far apart” in the object hierarchy.