validaiton now passes reference of itself to user callback methods in case they need to access other validation data rather than going through Input::