code: func New(pool *redis.Pool, reconnectPolicy conn.ReconnectPolicy) *Client {
  	return &Client{
  		eventEmitter: newEventEmitter(),
  		state:        blueprint.Machine(),
  		stateLock:    new(sync.Mutex),
  		pool:         pool,
  		subscribed:   map[string][]*Listener{},
  		policy:       reconnectPolicy,
  		tasks:        make(chan task, 128),
  	}
  }
docs: // Creates and returns a new pubsub client client and subscribes to it.