I've been using a application level Event Aggregator in my application. Modules are able to publish events, and other modules can subscribe to those events. The idea is that this creates loose coupling. But for a module to subscribe to another modules event it still has to reference the name of the other modules event directly. Isn't this just a different type of tight coupling?
ps.. I'm using backbone.js and Marionette.js