Unity Code Architecture and Dependency Injection