Move modification of entities by repository to visitor pattern (seperating out the concern from filters)