Added custom structure property validation for the test model
simplified type validation, now primitive properties have to be validated on per-class bases
Added extensive comments