public void Initialize()
        {
            Current        = this;
            Logger.Current = new ConsoleLogger();

            Settings.Configure();

            if (Settings.EnableConsole)
            {
                DebugConsole.Enable();
            }

            HooksSetup.InstallHooks(Override_TextChanged);

            try
            {
                _endpoint = KnownEndpoints.FindEndpoint(Settings.ServiceEndpoint);
            }
            catch (Exception e)
            {
                Logger.Current.Error(e, "An unexpected error occurred during initialization of endpoint.");
            }

            _symbolCheck = TextHelper.GetSymbolCheck(Settings.FromLanguage);

            LoadTranslations();

            // start a thread that will periodically removed unused references
            var t1 = new Thread(MaintenanceLoop);

            t1.IsBackground = true;
            t1.Start();

            // start a thread that will periodically save new translations
            var t2 = new Thread(SaveTranslationsLoop);

            t2.IsBackground = true;
            t2.Start();
        }