request(cmd, args, evt) {
    return new Promise((resolve, reject) => {
      const nonce = uuid();
      this.transport.send({ cmd, args, evt, nonce });
      this._expecting.set(nonce, { resolve, reject });
    });
  }
Request
@param {string} cmd Command
@param {Object} [args={}] Arguments
@param {string} [evt] Event
@returns {Promise}
@private