Introduced BiDirectionalMap class and the concept of sources (services
that will always only provide a bidirectional map of key-values);
introduced SettingsSource and changed the settings filter to delegate to
it.