Replace Func<T> factory with ObjectFactory<T> and ObjectLookup<T> to provide access to key to clients.