An n-tiered Mvc project structure with concerns separated, DI, Validation and EF