public void Run()
        {
            try
            {
                Repository = GetRepository();
            }
            catch (Exception ex)
            {
                _logger.ErrorException("Error initializing auto-organize database", ex);
            }

            Current = this;
            FileOrganizationService = new FileOrganizationService(_taskManager, Repository, _logger, _libraryMonitor, _libraryManager, _config, _fileSystem, _providerManager);

            FileOrganizationService.ItemAdded   += _organizationService_ItemAdded;
            FileOrganizationService.ItemRemoved += _organizationService_ItemRemoved;
            FileOrganizationService.ItemUpdated += _organizationService_ItemUpdated;
            FileOrganizationService.LogReset    += _organizationService_LogReset;
        }
        public Task RunAsync()
        {
            try
            {
                Repository = GetRepository();
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Error initializing auto-organize database");
            }

            Current = this;
            FileOrganizationService = new FileOrganizationService(_taskManager, Repository, _logger, _libraryMonitor, _libraryManager, _config, _fileSystem, _providerManager);

            FileOrganizationService.ItemAdded   += _organizationService_ItemAdded;
            FileOrganizationService.ItemRemoved += _organizationService_ItemRemoved;
            FileOrganizationService.ItemUpdated += _organizationService_ItemUpdated;
            FileOrganizationService.LogReset    += _organizationService_LogReset;

            // Convert Config
            _config.Convert(FileOrganizationService);

            return(Task.CompletedTask);
        }