#568 - fix logic surrounding onValidate callbacks, add a onValidateBatch callback