private IXDListener CreateNetworkListener(IIdentityProvider provider)
{
var settings = AmazonAccountSettings.GetInstance();
var amazonSnsFacade = new AmazonSnsFacade(settings);
var amazonSqsFacade = new AmazonSqsFacade(settings);
var queuePoller = new QueuePoller(amazonSqsFacade);
var resourceCounter = new ResourceCounter();
var respository = new TopicRepository(AmazonAccountSettings.GetInstance(), amazonSnsFacade);
var subscriberRepository = new SubscriberRepository(settings, amazonSqsFacade);
var subscriptionService = new SubscriptionService(
resourceCounter,
amazonSnsFacade,
amazonSqsFacade,
subscriberRepository,
queuePoller);
return new XDAmazonListener(provider, serializer, respository, subscriberRepository, subscriptionService);
}