process() method now returns the value returned by onValid()/onInvalid()