SOLID – the dependency inversion principle