Resolve TMSS-272
Closes TMSS-272 Please see comments in JIRA as well. This was quite a hard feature to implement, as it touched many pieces of code. In the end I think the result is better than what we started with because we now have reusable schemas with lots of validation, and full annotation of the schemas.