split the validator into implementations for each single draft instead of a single implementation for all drafts.
- this should make the code easier to maintain
- probably bought by a bit of duplication (?)
- probably adds more complexity when references to other draft versions
- ...