"""
Template specifications have a lot of fields and properties.
Therefore, their proper validation is a serious task.
The main aim of this module is to build a schema for the entire template specification, so that it is
possible to automatically validate user imput against that schema, before continuing to process it.
"""