Using classes for fields to allow for custom validation.