Create an interface for the Template.

The template classes have to implement the interface, this way we
can create different template classes and use the right one
depending on what template we want to use.