event_controller.go
func (e *EventController) RegisterHandler(n string, h Handler) error {
	e.lazyLoadHandler()

	if e.IsHandlerRegistered(n) {
		return errors.New(fmt.Sprintf("%s has already been registered", n))
	}
	e.handlerMutex.Lock()
	e.Handlers[n] = h
	e.handlerMutex.Unlock()

	return nil
}
func (e *EventController) RegisterHandler(n string, h Handler) error {
	e.lazyLoadHandler()

	if e.IsHandlerRegistered(n) {
		return errors.New(fmt.Sprintf("%s has already been registered", n))
	}
	e.handlerMutex.Lock()
	e.Handlers[n] = h
	e.handlerMutex.Unlock()

	return nil
}
// Registers Handler with the EventController. Takes a string for the unique name(key)
// and the handler that conforms the to Handler interface. The name(key) is used
// to unregister or check if registered.