[Locale] Rework LocaleContext to allow usage different storages