Good point. This actually makes me wonder if we should call this factory at all, because it's not creating anything really. Perhaps `Registry` would be a better name?

```c#
public class ComponentRegistry<TComponent>
{
   static readonly IDictionary<string, Lazy<TComponent>> _registry = new Dictionary<string, Lazy<TComponent>>
   public void Register(Lazy<TComponent> component, CultureInfo culture = null); // null culture indicates default component
   public TComponent Resolve<TComponent>();
}
```

Thoughts?