Validations refactor
Merge pull request #754 from oliverbarnes/validations-refactor

WIP validations refactor