complete refactor to extract DI
further fixes to DI work
fixing unit tests
reworking of Nuget packages in light of DI changes
Merge branch 'feature/DIRework' into develop