once(key, value, callback) {
    const obj = {value, callback, once: true};
    if (this.subscriptions[key]) {
      this.subscriptions[key].push(obj);
      return;
    }
    this.subscriptions[key] = [obj];
  }
Same as .on, but only triggers once
@param {String}    key       Message key to subscribe to
@param {String}    value     Value that the above key must have for the callback to be called
@param {Function}  callback  callback(response)
@return {void}