Constructor Injection

Constructor injection
Programming to interface.