code: func (p *Daemon) MarshalSnapshot() map[string]interface{} {
  	p.lock.Lock()
  	defer p.lock.Unlock()
  
  	// If we're stopped or have no process, then nothing to snapshot.
  	if p.stopped || p.process == nil {
  		return nil
  	}
  
  	return map[string]interface{}{
  		"Pid":         p.process.Pid,
  		"CommandPath": p.Command.Path,
  		"CommandArgs": p.Command.Args,
  		"CommandDir":  p.Command.Dir,
  		"CommandEnv":  p.Command.Env,
  		"ProxyToken":  p.ProxyToken,
  		"ProxyID":     p.ProxyID,
  	}
  }
docs: // MarshalSnapshot implements Proxy