There's also a backwards compatibility angle to consider here, analogous to the database backend internal checks. There will be users who have existing Validation subclasses. We should be checking to see if the user has defined a custom Validator, and if so, invoking it to extract validation errors, and converting them to checks, along with a deprecation warning that custom Validators will need to be converted to checks.