[5.0] Add customization methods to the validation factory contract

This makes sense in my eyes. Similar methods are also in the view factory contract.

@taylorotwell There are other public methods in the factory, but I'd argue they're not as important to the actual factory contract, but rather implementation-specific? Your call... especially regarding the `resolver()` method...