Refactoring behaviours and introducing validators