Refactoring Legacy: Part 1 - DTO's & Value Objects