Dependency inversion