I wonder if `ObjectRegistry` needs to be concurrent at all. All current usages of ObjectRegistries are singleton objects registering their elements at construction time (and therefore being guarded by lazy initialization semantics). Some of those like `HttpCharsets` allow late registering but in that case we could also just fallback to plain old synchronization for late registrations if we know it happens rarely enough. WDYT?