Description
The validation process needs more flexibility - a chain of validators that are applied one after the other; when one would consider the entity invalid, the process would stop (voters). This way the separation of each validation rule can be done more cleanly and the validation process can be flexible by just plugging in different validators as needed, rather than gathering all the rules in a single validator.