I really hate to turn down your efforts, but there are a good number of well thought reasons why I did not implement this from the get-go and I think you'll agree with me when I explain to you why I'm really against this method, even though it's final.

1. Code implementing a HylianShield\Validator should not have to think twice about what it is the validator will try to validate.
2. Therefore, the validation process must be immutable after the validator has been constructed
3. Introducing `setValidator` will change the validation process after the validator has been first constructed. As the validator is an object in PHP and therefor will be passed along as a reference all over the place, if you want it or not, you are potentially altering behavior of parts of your programming you did not anticipate, simply because part a doesn't know or need to know of part b, but they use the same validator.
4. Introducing `setValidator` creates a potential security leak for validators that accept objects, as you can maliciously intercept that method after feeding an alternative validator.
5. There is no validator logic you can set using this method which you could not set in the constructor of your validator. If you something different to be validated than your validator is validating, then create a new validator. Don't mutate a validator on the fly.

I will repeat that: DO NOT EVER MUTATE A VALIDATOR ON THE FLY!