Your proposed approach is fine, with one big drawback: it requires spaghetti code when your application grows.
This presentation is about Android, but the arguments remain for GWT.
See also this famous presentation from Google I / O 2009, which explicitly talks about using Event Bus to fight spaghetti code (a must-see if you haven't already).
Finally, this blog post is about observer and mediator patterns in JS: in GWT, the observer pattern is implemented by event handlers, while the mediator pattern is implemented by the event bus. Here tl; dr: "use the observer" locally ", inside the component, the intermediary" remotely "between the components."
source share