This probably works, but it's counter-intuitive. Events should be used to bubble message "up" components, or "cross" components, while calling functions should be used when working down the component hierarchy.
In the case of "cross" component messaging, if for example you want to have an application wide event that lots of different components need to listen to, the way to do it is to create an event bus object, and pass it to the different components.  There are tons of examples on the web for this, or you can look at Marionette's `App.vent` as an example