Tried to condense, and added support for an object of events/callbacks, always supporting both normal and delegated handlers