code: function ZkCxn(urls, timeout) {
    this._locks = {}; // lockname -> lock node
    this._urls = urls;
    this._options = {}; // passed to this._zk on creation
    if (timeout) {
      this._options.sessionTimeout = timeout;
    }
    this._timeout = timeout || DEFAULT_TIMEOUT; // used for onConnection callbacks. TODO: break out to distinct parameter?
    this._cxnState = this.cxnStates.CLOSED; // initial state
    this._stateEmitter = undefined; // created on connect
    this._zk = undefined; // instance of node-zookeeper-client
  }
docs: /*
  @constructor
  @params {String} urls A comma-delimited array of <ZK host:port>s.
  @params {?Number} timeout A timeout.