Base implementation

@DASPRiD wondering if this is even needed when we explicitly do `setTemplate` everywhere