Enhancement: Project restructure and introduction of templates

Corresponds with part 2 of the blog series.