code: def get(self, name: str):
          
          dep = None
          try:
              dep = self._registry[name]
          except KeyError:
              raise DependencyNotFoundError(name) from None
          value = self.cached(dep)
          if value is None:
              value = dep.factory()
              self.cache(dep, value)
          return value
docs: Get an instance of dependency,
          this can be either a cached instance
          or a new one (in which case the factory is called)