anchor.diff:    SysUtils;
   
   type
  +  TResolveResult = (Unknown, Success, InterfaceNotRegistered, ImplNotRegistered, DeletegateFailedCreate);
  +
     TActivatorDelegate<TInterface: IInterface> = reference to function: TInterface;
   
   
  
positive.code:     procedure RegisterType<TInterface: IInterface>(const singleton : boolean;const delegate : TActivatorDelegate<TInterface>; const name : string);overload;
  
      //Resolution
      function Resolve<TInterface: IInterface>(const name: string = ''): TInterface; overload;
  
      //Default Container - used internally by DUnitX
      class function DefaultContainer : TDUnitXIoC;
  
negative.code:     FContainerInfo : TDictionary<string,TObject>;
  
      private class destructor ClassDestroy;
  
      function GetInterfaceKey<TInterface>(const AName: string = ''): string;
      function InternalResolve<TInterface: IInterface>(out AInterface: TInterface; const AName: string = ''): TResolveResult;
  
    public
      constructor Create;
  