public IModuleLoader BuidlerModuleLoader(ModuleLoaderOptions options)
        {
            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            var nugetClient             = new NugetClient(new HttpClientFactory());
            var moduleFeedClientFactory = new ModuleFeedClientFactory();

            return(new ModuleLoader(nugetClient, moduleFeedClientFactory, options));
        }
        public ModuleLoader(INugetClient nugetClient, IModuleFeedClientFactory moduleFeedClientFactory, ModuleLoaderOptions options)
        {
            if (nugetClient == null)
            {
                throw new ArgumentNullException(nameof(nugetClient));
            }

            if (moduleFeedClientFactory == null)
            {
                throw new ArgumentNullException(nameof(moduleFeedClientFactory));
            }

            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            _nugetClient             = nugetClient;
            _moduleFeedClientFactory = moduleFeedClientFactory;
            _options = options;
        }