code: func NewService(rpcIn Channel, rpcOut Channel) *Service {
  	s := &Service{
  		name:     "toolbox", // Same name used by vmtoolsd
  		in:       NewTraceChannel(rpcIn),
  		out:      &ChannelOut{NewTraceChannel(rpcOut)},
  		handlers: make(map[string]Handler),
  		wg:       new(sync.WaitGroup),
  		stop:     make(chan struct{}),
  
  		PrimaryIP: DefaultIP,
  	}
  
  	s.RegisterHandler("reset", s.Reset)
  	s.RegisterHandler("ping", s.Ping)
  	s.RegisterHandler("Set_Option", s.SetOption)
  	s.RegisterHandler("Capabilities_Register", s.CapabilitiesRegister)
  
  	s.Command = registerCommandServer(s)
  	s.Command.FileServer = hgfs.NewServer()
  	s.Command.FileServer.RegisterFileHandler("proc", s.Command.ProcessManager)
  	s.Command.FileServer.RegisterFileHandler(hgfs.ArchiveScheme, hgfs.NewArchiveHandler())
  
  	s.Power = registerPowerCommandHandler(s)
  
  	return s
  }
docs: // NewService initializes a Service instance