Add custom validator support, and a few other fixes

Hope you don't mind some clean-up with the feature addition :)