code: func NewCommand(stdin io.Reader, stdout, stderr io.Writer, opts ...CommandOption) *Command {
  	c := &Command{
  		Config: NewConfig(),
  
  		CmdIO: pilosa.NewCmdIO(stdin, stdout, stderr),
  
  		Started: make(chan struct{}),
  		done:    make(chan struct{}),
  	}
  
  	for _, opt := range opts {
  		err := opt(c)
  		if err != nil {
  			panic(err)
  			// TODO: Return error instead of panic?
  		}
  	}
  
  	return c
  }
docs: // NewCommand returns a new instance of Main.