This project shows how to invert dependencies.