I don't think this is fixes as we still need a factory of some sort or cases where objects are just being created from core. (i.e. in LocalFrameClientImpl)
I don't see how LocalFrameClientImpl::CreateServiceWorkerLinkResource is different to any of the others in [Core|Modules]Initializer.
This CL shows how I think we can handle it.
https://chromium-review.googlesource.com/c/580119/
I'm not against having another class in Core called something like ModulesFactory, but if we are still going to use ModulesInitializer to set the callback into that other class, then I think we might as well store the factory callback on CoreInitializer.
Comment 1 by slangley@chromium.org
, Jun 19 2017