DI using constructors. Fixed few violations.
Unit tests and violations fixed
Unit tests