code: func (p *Plugin) NewProcess(name, cmd string, options ...POption) ProcessInstance {
  	newPr := &Process{
  		log:     p.Log,
  		name:    name,
  		cmd:     cmd,
  		options: &POptions{},
  		sh:      &status.Reader{Log: p.Log},
  		status: &status.File{
  			State: status.Initial,
  		},
  		cancelChan: make(chan struct{}),
  	}
  	for _, option := range options {
  		option(newPr.options)
  	}
  	p.processes = append(p.processes, newPr)
  
  	if newPr.options.template {
  		p.writeAsTemplate(newPr)
  	}
  
  	return newPr
  }
docs: // NewProcess creates a new process and saves its template if required