Listen, if you don’t understand dependency injection and why it is good to use a quality IoC to stub and mock during TDD, then you don’t understand why interfaces and the Strategy design pattern is better than Abstract Classes when using multiple interface inheritance.