I have a factory class that decides which of four available subclasses it should instantiate and return. As you would expect, all subclasses implement the same interface:
sounds like you want your cake and to eat it too. you need to commit to your IOC strategy.
you will produce mo an betta code and the chicks will dig you more too.... ;p