So, from what I understand, the dependency inversion principle enforces classes to have their dependencies passed into their constructor so that an app can declare how those