Starting validators
Refactoring behaviours and introducing validators
Refactoring and basic Validator model