Refactored
2: Support nested elements 

Rename
2: Support nested elements 

Add parent to Template
2: Support nested elements 

Introduce IProperty type with apply method to apply the stored
properties on a given object.
2: Support nested elements 

Clean up code and reduce visibility
2: Support nested elements
2: Support nested elements 

Rename methods
2: Support nested elements 

Rename
2: Support nested elements 

Introduce hierachy for templates
2: Support nested elements 

Refactor to make next steps possible
2: Support nested elements 

Nested elements will be loaded.