Huge Refactoring, before mocking EF