code: func Store(program ProgramFunc, creds *credentials.Credentials) error {
  	cmd := program("store")
  
  	buffer := new(bytes.Buffer)
  	if err := json.NewEncoder(buffer).Encode(creds); err != nil {
  		return err
  	}
  	cmd.Input(buffer)
  
  	out, err := cmd.Output()
  	if err != nil {
  		t := strings.TrimSpace(string(out))
  
  		if isValidErr := isValidCredsMessage(t); isValidErr != nil {
  			err = isValidErr
  		}
  
  		return fmt.Errorf("error storing credentials - err: %v, out: `%s`", err, t)
  	}
  
  	return nil
  }
docs: // Store uses an external program to save credentials.