DIP - Dependency Inversion Principle