private static FundingFeedService CreateService(
     IFundingFeedSearchService searchService = null,
     IPublishedFundingRetrievalService publishedFundingRetrievalService = null,
     IExternalEngineOptions externalEngineOptions = null)
 {
     return(new FundingFeedService(
                searchService ?? CreateSearchService(),
                publishedFundingRetrievalService ?? CreatePublishedFundingRetrievalService(),
                externalEngineOptions ?? CreateExternalEngineOptions()
                ));
 }
        public FundingFeedService(
            IFundingFeedSearchService feedService,
            IPublishedFundingRetrievalService publishedFundingRetrievalService,
            IExternalEngineOptions externalEngineOptions)
        {
            Guard.ArgumentNotNull(feedService, nameof(feedService));
            Guard.ArgumentNotNull(publishedFundingRetrievalService, nameof(publishedFundingRetrievalService));
            Guard.ArgumentNotNull(externalEngineOptions, nameof(externalEngineOptions));

            _feedService = feedService;
            _publishedFundingRetrievalService = publishedFundingRetrievalService;
            _externalEngineOptions            = externalEngineOptions;
        }