Constraints -//- first release -//- Flexible abstract class based validation for attributes, functions and code blocks