docs: function Remote(connection) {
    this.timeout = 5000;
    this._connection = connection;
    this._handlers = {};
    this._requestID = 1;
    
    var self = this;
    this._connection.addListener('response', function(res) {
      if (res.id === null || res.id === undefined) { return; }
      var handler = self._handlers[res.id];
      if (handler) { handler.call(self, res.error, res.result); }
      delete self._handlers[res.id];
    });
  }