Validation extracted to its own class