Good evening!
First, I'll state concrete questions to ponder them more easily:
What's the purpose of Screen#addWidget and the overall Screen#children thing?
Should Screen automatically forward keyboard and mouse events to its children (defined in IGuiEventListener)?
Now, let's dive deeper. From what I'm observing, for instance, KeyboardListener calls INestedGuiEventHandler methods of the actual Screen, but never touches its children. I find this a bit confusing, as addWidget with the type of IGuiEventListener explicitly implies that the Screen will listen to the keyboard/mouse events and forward them to its children, which were registered via Screen#addWidget.
If I need to provide any more details or pieces of code — just let me know.
Thanks in advance!