docs: function (url, options) {
  
          options = options || {};
  
          // Configuration
  
          this._url = url;
          this._settings = options;
          this._heartbeatTimeout = false;             // Server heartbeat configuration
  
          // State
  
          this._ws = null;
          this._reconnection = null;
          this._ids = 0;                              // Id counter
          this._requests = {};                        // id -> { callback, timeout }
          this._subscriptions = {};                   // path -> [callbacks]
          this._heartbeat = null;
  
          // Events
  
          this.onError = (err) => console.error(err); // General error callback (only when an error cannot be associated with a request)
          this.onConnect = ignore;                    // Called whenever a connection is established
          this.onDisconnect = ignore;                 // Called whenever a connection is lost: function(willReconnect)
          this.onUpdate = ignore;
  
          // Public properties
  
          this.id = null;                             // Assigned when hello response is received
      }