[ci skip] Working on dependency injection.
[ci skip] Further work on dependency injection. Recreated some classes.
[ci skip] Further work on dependency injection.