Added the Template Component annotation to allow abstract components