public SynchronizationTask(ITransactionalStorage storage, SigGenerator sigGenerator, NotificationPublisher publisher,
								   InMemoryRavenConfiguration systemConfiguration)
		{
			this.storage = storage;
			this.publisher = publisher;
			this.systemConfiguration = systemConfiguration;
			synchronizationQueue = new SynchronizationQueue();
			synchronizationStrategy = new SynchronizationStrategy(storage, sigGenerator);

		    LastSuccessfulSynchronizationTime = DateTime.MinValue;

			InitializeTimer();
		}
        public SynchronizationTask(ITransactionalStorage storage, SigGenerator sigGenerator, NotificationPublisher publisher,
                                   InMemoryRavenConfiguration systemConfiguration)
        {
            this.storage             = storage;
            this.publisher           = publisher;
            this.systemConfiguration = systemConfiguration;
            synchronizationQueue     = new SynchronizationQueue();
            synchronizationStrategy  = new SynchronizationStrategy(storage, sigGenerator);

            LastSuccessfulSynchronizationTime = DateTime.MinValue;

            InitializeTimer();
        }