refactored Sitecore to improve dependency resolution
refactored umbraco to fix unit tests based on Sitecore refactor.