Dependency Inversion Principle.

TODO