#4137 Restructure to DI - End of initial pass

Finished first pass of core changes for ctor injection