makersAcademy: reinject method; practice: good+bad SOLID design examples.