Provides access to a template. The template will be parsed as necessary. If no template for the exact component
is found, then the template for the component's parent is returned. In this way, it is possible for a component
to extend the behavior of its super-class without duplicating the super-class component's template.
In some cases, the empty template will be returned.
Resolves the component name to a localized Resource (using the ComponentTemplateLocator chain of
command service). The localized resource is used as the key to a cache of ComponentTemplates.
If a template doesn't exist, then the missing ComponentTemplate is returned.
Checks to see if any parsed resource has changed. If so, then all internal caches are cleared, and an
invalidation event is fired. This is brute force ... a more targeted dependency management strategy may come