How to you feel about creating an AnnotationValidatorFactory in the validator package that takes in a ValidateWith instance and returns a AnnotationValidator? In the future, such a class could do caching.