# Functions
New initializes a controller with our local validation, it can be overwritten.
ValidatePayload is 1 implementation of the closure in our controller.
# Structs
Controller holds our validation functions.
Payload is the value we process.
Verror is an error that occurs during validation, we can return this to a user.