code: function IRC(cfg) {
    cfg = (typeof cfg === 'object') ? cfg : {};
    this.debug = cfg.debug;
    this.sendToClient = cfg.sendToClient;
    this.updateCredentials = cfg.updateCredentials;
    this.__forceDisconnect = false;
    this.__clientConnecting = false;
    this.__client = undefined;
    this.__jobQueue = []; // list of handlers to confirm when message delivery confirmed
    this.__channels = new Set();
    this.__handledActors = new Set();
  }
docs: @class IRC
  @constructor
  
  @description
  Handles all actions related to communication via. the IRC protocol.
  
  Uses the `irc-factory` node module as a base tool for interacting with IRC.
  
  {@link https://github.com/ircanywhere/irc-factory}
  
  @param {object} cfg a unique config object for this instance // TODO LINK