code: func NewClient(options ClientOptions) (client *Client, err error) {
  	if !options.Environment.Valid() {
  		return nil, errors.New("Invalid environment specified: " + string(options.Environment))
  	}
  
  	if options.HTTPClient == nil {
  		options.HTTPClient = &http.Client{}
  	}
  
  	return &Client{
  		clientID:    options.ClientID,
  		secret:      options.Secret,
  		publicKey:   options.PublicKey,
  		environment: options.Environment,
  		httpClient:  options.HTTPClient,
  	}, nil
  }
docs: // NewClient instantiates a Client associated with a client id, secret and environment.