code: func NewNatsRPCClient(
  	config *config.Config,
  	server *Server,
  	metricsReporters []metrics.Reporter,
  	appDieChan chan bool,
  ) (*NatsRPCClient, error) {
  	ns := &NatsRPCClient{
  		config:           config,
  		server:           server,
  		running:          false,
  		metricsReporters: metricsReporters,
  		appDieChan:       appDieChan,
  	}
  	if err := ns.configure(); err != nil {
  		return nil, err
  	}
  	return ns, nil
  }
docs: // NewNatsRPCClient ctor