code: func (fw *Framework) NewRequest(version string, agent string, senderid string, callerid string, ttl int, requestid string, collective string) (request protocol.Request, err error) {
  	switch version {
  	case protocol.RequestV1:
  		request, err = v1.NewRequest(agent, senderid, callerid, ttl, requestid, collective)
  	default:
  		err = fmt.Errorf("Do not know how to create a Request version %s", version)
  	}
  
  	return
  }
docs: // NewRequest creates a new Request complying with a specific protocol version like protocol.RequestV1