/// <summary>
        /// Instantiate new TypingResultsRepository.
        /// </summary>
        /// <param name="jsonLoader">The JsonLoader.</param>
        /// <param name="dataSerializer">The data serializer.</param>
        /// <param name="path">The file path.</param>
        public TypingResultsRepository(IJsonLoader jsonLoader, IDataSerializer dataSerializer, string path)
        {
            _jsonLoader     = jsonLoader;
            _dataSerializer = dataSerializer;
            _path           = path;
            _results        = _jsonLoader.LoadTypeFromJson <List <WPMJsonObject> >(Resources.TypingResults) ?? new List <WPMJsonObject>();

            if (_results.Count == 0)
            {
                WriteOutResults();
            }
        }
        /// <summary>
        /// Load the settings.
        /// </summary>
        private void LoadSettings()
        {
            var settings = _loader.LoadTypeFromJson <List <SettingJsonObject> >(Resources.SettingsData);

            if (settings == null)
            {
                _observableSettings = new ObservableCollection <SettingJsonObject>();
                WriteOutSettings();
            }
            else
            {
                _observableSettings = new ObservableCollection <SettingJsonObject>(settings);
            }

            _observableSettings.CollectionChanged += ObservableSettingsOnCollectionChanged;
        }