async init() {
    for (const ProtocolClass of DEFAULT_PROTOCOLS) {
      const protocol = new ProtocolClass();

      this.protocols.set(protocol.name, protocol);
    }

    return this.protocols.get("internal").init(this);
  }
Initializes the InternalProtocol first to allow subscriptions
in plugins init() method.

@returns {Promise}