/// <summary>
        /// Should be refactored to use proper dependency injection.
        /// </summary>
        private void createDependencyGraph()
        {
            this.fileLogger = new FileLogger();

            this._languageSelection = new LanguageSelection();
            this._authenticationService = new AuthenticationService();

            this.categoryRepository = new CategoryRepository();
            this.categoryTranslationService = new CategoryTranslationService();

            this.pictogramRestService = new PictogramRestService("www.pictogram.se");

            this.languageProvider = new LanguageProvider(this.pictogramRestService);

            this.iniFileFactory = new IniFileFactory();

            this.config = new Config(this.categoryRepository, this.categoryTranslationService, this.iniFileFactory);
            this.downloadManager = new DownloadManager(this.languageProvider, this.pictogramRestService);

            this.downloadListManager = new DownloadListManager(this.pictogramRestService);

            this.installationManager = new InstallationManager(this.config, this.downloadListManager, this.languageProvider, this.pictogramRestService);

            this.imageFormatProvider = new ImageFormatProvider();

            this.hargdata = new HargdataProducts();
        }
        private DownloadManager CreateDownloadManager(string targetPath, string username, string password,
                                                   Language language)
        {
            var downloadManager = new DownloadManager(this.languageProvider, this.pictogramRestService);

            downloadManager.TargetPath = targetPath;
            downloadManager.Username = username;
            downloadManager.Password = password;
            downloadManager.Language = language;

            downloadManager.LogMessage += LogMessage;
            downloadManager.LogToFile += LogToFile;
            downloadManager.ProgressChanged += ProgressChanged;
            downloadManager.StatusChanged += StatusChanged;
            return downloadManager;
        }
        /// <summary>
        /// Should be refactored to use proper dependency injection.
        /// </summary>
        private void createDependencyGraph()
        {
            this._languageSelection = new LanguageSelection();
            this._authenticationService = new AuthenticationService();

            this.categoryRepository = new CategoryRepository();
            this.categoryTranslationService = new CategoryTranslationService();

            this.languageProvider = new LanguageProvider();
            this.pictosysWebService = new PictosysWebService();

            this._config = new Config(this.categoryRepository, this.categoryTranslationService);
            this.downloadManager = new DownloadManager(this.languageProvider, this.pictosysWebService);

            this.downloadListManager = new DownloadListManager(this.pictosysWebService);

            this.installationManager = new InstallationManager(this._config, this.downloadListManager, this.languageProvider, this.pictosysWebService);
        }