code: func (p *Processor) SetHandler(msg interface{}, msgHandler MsgHandler) {
  	msgType := reflect.TypeOf(msg)
  	if msgType == nil || msgType.Kind() != reflect.Ptr {
  		log.Fatal("json message pointer required")
  	}
  	msgID := msgType.Elem().Name()
  	i, ok := p.msgInfo[msgID]
  	if !ok {
  		log.Fatal("message %v not registered", msgID)
  	}
  
  	i.msgHandler = msgHandler
  }
docs: // It's dangerous to call the method on routing or marshaling (unmarshaling)