/// <summary>
        /// Constructor for MobiledgeXIntegration. This class has functions that wrap DistributedMatchEngine functions for ease of use
        /// </summary>
        public MobiledgeXIntegration(string orgName, string appName, string appVers, string developerAuthToken = "")
        {
            this.orgName            = orgName;
            this.appVers            = appVers;
            this.appName            = appName;
            this.developerAuthToken = developerAuthToken;

            // Set the platform specific way to get SIM carrier information.
            pIntegration = new PlatformIntegration();

            matchingEngine = new MatchingEngine(pIntegration.CarrierInfo, pIntegration.NetInterface, pIntegration.UniqueID, pIntegration.DeviceInfo);

            melMessaging = new MelMessaging(appName);
            matchingEngine.SetMelMessaging(melMessaging);
        }
        /// <summary>
        /// Constructor for MobiledgeXIntegration. This class has functions that wrap DistributedMatchEngine functions for ease of use
        /// </summary>
        public MobiledgeXIntegration(CarrierInfo carrierInfo = null, NetInterface netInterface = null, UniqueID uniqueId = null, DeviceInfo deviceInfo = null)
        {
            ConfigureMobiledgeXSettings();
            // Set the platform specific way to get SIM carrier information.
            pIntegration = new PlatformIntegration();

            // Optionally override each interface:
            matchingEngine = new MatchingEngine(
                carrierInfo == null ? pIntegration.CarrierInfo : carrierInfo,
                netInterface == null ? pIntegration.NetInterface : netInterface,
                uniqueId == null ? pIntegration.UniqueID : uniqueId,
                deviceInfo == null ? pIntegration.DeviceInfo : deviceInfo);

            melMessaging = new MelMessaging(appName);
            matchingEngine.SetMelMessaging(melMessaging);
        }