I have difficulties implementing inversion of control in order to keep loose coupling between my modules, and also preventing dependency cycle.
In my example I want t