Splitting things up, also handling 1-3 levels

Has code to handle more, but commented out.
Renamed a method on namespace splitter
Converted dependency manager to use namespace shadow

Some general cleaning & refactoring