simplify validation callbacks by not requiring a return value