AbstractValidator refactor