code: function Container(parent) {
        this.parent = parent;
        this.children = [];
  
        this.resolver = parent && parent.resolver || function() {};
  
        this.registry       = dictionary(parent ? parent.registry : null);
        this.cache          = dictionary(parent ? parent.cache : null);
        this.factoryCache   = dictionary(parent ? parent.factoryCache : null);
        this.resolveCache   = dictionary(parent ? parent.resolveCache : null);
        this.typeInjections = dictionary(parent ? parent.typeInjections : null);
        this.injections     = dictionary(null);
        this.normalizeCache = dictionary(null);
  
        this.factoryTypeInjections = dictionary(parent ? parent.factoryTypeInjections : null);
        this.factoryInjections     = dictionary(null);
  
        this._options     = dictionary(parent ? parent._options : null);
        this._typeOptions = dictionary(parent ? parent._typeOptions : null);
      }
docs: A lightweight container that helps to assemble and decouple components. Public api for the container is still in flux. The public api, specified on the application namespace should be considered the stable api.