Refactoring adding separating model and domain objects