--- features: - Implemented a new contract function ``template()``. ``template()`` works similar to the ``class()`` in regards to the data validation but does not instantiate objects. Instead, the data is left in the object model in dictionary format so that it could be instantiated later with the ``new()`` function. Additionally, the function allows excluding specified properties from validation and from the resulting template so that they could be provided later. Objects that are assigned to the property or argument with ``template()`` contract will be automatically converted to their object model representation.