code: func (ed *Dispatcher) RegisterHandler(t interface{}, h Handler) {
  	htype := reflect.TypeOf(t)
  	if _, ok := ed.handlers[htype]; !ok {
  		logger.Debugf("Registering handler for %s on dispatcher %T", htype, ed)
  		ed.handlers[htype] = h
  	} else {
  		logger.Debugf("Cannot register handler %s on dispatcher %T since it's already registered", htype, ed)
  	}
  }
docs: // RegisterHandler registers an event handler