public GainCapitalRatesManager(ILoggerWrapper wrapper,
									   IGainCapitalRatesService gainCapitalRatesService,
									   IGainCapitalRatesParser gainCapitalRatesParser)
		{
			if (wrapper == null)
			{
				throw new ArgumentNullException("wrapper");
			}

			if (gainCapitalRatesService == null)
			{
				throw new ArgumentNullException("gainCapitalRatesService");
			}

			if (gainCapitalRatesParser == null)
			{
				throw new ArgumentNullException("gainCapitalRatesParser");
			}

			_wrapper = wrapper;
			_gainCapitalRatesParser = gainCapitalRatesParser;
			_gainCapitalRatesService = gainCapitalRatesService;

			_cts = new CancellationTokenSource();
			_factory = new TaskFactory(_cts.Token);
		}