PubNub constructor 
    
    
    
  Implementation
  PubNub({
  Keyset? defaultKeyset,
  INetworkingModule? networking,
  IParserModule? parser,
  ICryptoModule? crypto,
  LoggingConfiguration? logging,
}) : super(
          defaultKeyset: defaultKeyset,
          networking: networking ?? NetworkingModule(),
          parser: parser ?? ParserModule(),
          crypto: crypto ??
              (defaultKeyset?.cipherKey != null
                  ? CryptoModule.legacyCryptoModule(defaultKeyset!.cipherKey!)
                  : LegacyCryptoModule())) {
  // Initialize instance-level logging
  initializeLogging(logging, Core.instanceId);
  batch = BatchDx(this);
  channelGroups = ChannelGroupDx(this);
  objects = ObjectsDx(this);
  files = FileDx(this);
  _logPubNubInstanceInformation();
}