This commit introduces the templates, renderer and initial API that will be used for further development.