This class looks like it would be better implemented via the Abstract Factory pattern now, with Ninject "deciding" which implementation is created by injecting the appropriate concrete implementation to the requesting service.