private DataProvider() { FilesStorage.Instance.Watcher(ContentCategory.Miscellaneous).Update += OnUpdate; _nameNationalities = Lazier.Create(() => NationalitiesAndNames.SelectMany( x => from y in x.Value select new NameNationality { Name = y, Nationality = x.Key }).ToList()); _countryToIds = Lazier.Create <IReadOnlyDictionary <string, string> >(() => CountryByIds.ToDictionary(x => x.Value, x => x.Key)); _countryToKunosIds = Lazier.Create <IReadOnlyDictionary <string, string> >(() => CountryByKunosIds.ToDictionary(x => x.Value, x => x.Key)); _carYears = Lazier.Create <IReadOnlyDictionary <string, int> >(() => Years.GetValueOrDefault("cars") ?? new Dictionary <string, int>()); _trackYears = Lazier.Create <IReadOnlyDictionary <string, int> >(() => Years.GetValueOrDefault("tracks") ?? new Dictionary <string, int>()); _showroomYears = Lazier.Create <IReadOnlyDictionary <string, int> >(() => Years.GetValueOrDefault("showrooms") ?? new Dictionary <string, int>()); }