Decouple SOME classes and added DI/IoC.