Refractoring to move towards a more decoupled design
Refactoring towards a more decoupled structure