I not sure why we are passing in these external maps. I there are going to be anything like that, it should be handled by an interface on one of the factory singletons to register it. What is the purpose for this?