Refactored some methods into a shared interface, and added a new function based validation.
Converted all instances of int to int64, to make the validator handle larger values.