Abstract validation logic into separate gem

/cc @arfon, @johndbritton
Any way to do that if the class extends another?