I'm not a fan of having a global event dispatcher, I feel attaching events to the object we're listening to is more flexible