public async void Execute(string text)
        {
            log.Trace(">>>>>>>>> LOAD EXERCISE");
            var info = parser.Deserialize <ExerciseInfo>(text);

            settings.ExerciseId   = info.Id;
            settings.ExerciseInfo = info;

            localization.Add(info.Localization);

            await loadBundle.Execute(info.Bundles);

            await InitContexts(info.Contexts, context);

            log.Trace(">>>>>>>>> ON EXERCISE READY");
            sender.OnExerciseReady();
        }
        public async void Execute(string text)
        {
            var info = parser.Deserialize <AppInfo>(text);

            if (info.EnableLogging == 0)
            {
//                log.Level = LoggingLevel.OFF;
            }
            log.Trace(">>>>>>>>> INIT APP");
            localization.Add(info.Localization);

            var parameters = UriExtentsions.GetParams(platform.URL);

            if (platform.IsEditor)
            {
                settings.ExerciseId = info.DefaultExercise;
                settings.Mode       = settings.Mode ?? info.DefaultMode;
            }
            else if (!parameters.ContainsKey(RunnerConsts.IS_LOCAL))
            {
                settings.BasePath = info.BasePath;
            }

            platform.AntiAliasing  = GetAA(parameters, info.AntiAliasing);
            platform.EnableLogging = info.EnableLogging;

            var startedAt = info.StartedAt;
            var startTime = DateTimeOffset.FromUnixTimeSeconds(startedAt);

            var span = DateTime.UtcNow - startTime;

            log.Info("+++++++++++++++++++++++++++++++++++++++++ Time to start the unity app: " + span);

            var bundles = info.Bundles;
            await loadBundle.Execute(bundles);

            log.Trace(">>>>>>>>> ON ENGINE READY");
            sender.OnEngineReady();
        }