public void RunUnitOfWork(string jobKey)
        {
            var products = _source.GetProducts(_configuration.GetLastSuccessfulRun()).ToList();
            var productsReceivedAtDateTime = DateTime.Now;

            if (products.Any())
            {
                var logBuilder = new StringBuilder();
                logBuilder.AppendLine("Processing " + products.Count + " products.");

                foreach (var product in products)
                {
                    logBuilder.AppendLine(product.ToString());
                }

                _logger.Debug(logBuilder.ToString());

                _destination.SaveProducts(products);
                _configuration.SetLastSuccessfulRun(productsReceivedAtDateTime);
            }
            else
            {
                _logger.Debug("No notifications to run");
            }
        }