Added the ability pass DI in the constructors and methods