EventBus in Android: lessons learned
Alberto Ballano

As an engineer who was at TIBCO when we invented the EventBus as a middleware concept, we faced similar issues.

You could create things that were too complicated to follow.

I think that at the end of the day, the fault was with the engineers that went too far with the technology. This seems to be a common tendency and the basis of many language/framework/tool religious wars — “NodeJS solves this problem I was struggling with so is the ONLY tool you need to do EVERYTHING!”

The reality is that when you think that way, you don’t understand the problem! You’ve traded being able to solve some problems easily for making others more difficult.

The real solution is, as you suggest, to consider which tool to use for each problem. And naturally to have more than just a “star shaped screwdriver” in your toolbox.