def METHOD_NAME(self) -> Dict[str, Component]:
    if self._cached_component_map is None:
        self._cached_component_map = {
            component["key"]: component
            for component in iter_components(self.configuration, recursive=True)
        }
    return self._cached_component_map