public override async Task <Unit> Handle(GetRateAction aGetRateAction, CancellationToken aCancellationToken)
            {
                var conversionRequest = new ConversionRequest()
                {
                    FromCurrency = aGetRateAction.FromCurrency, ToCurrency = aGetRateAction.ToCurrency
                };
                string             uri = $"{ConversionRequest.Route}?{conversionRequest.ToQueryString()}";
                ConversionResponse conversionResponse = await HttpClient.GetJsonAsync <ConversionResponse>(uri);

                Conversion?conversion = RateState.Conversions.FirstOrDefault
                                        (
                    aConversion => aConversion.FromCurrency == aGetRateAction.FromCurrency &&
                    aConversion.ToCurrency == aGetRateAction.ToCurrency
                                        );

                RateState._Conversions.Remove(conversion);
                RateState._Conversions.Add(new Conversion(
                                               conversionRequest.FromCurrency,
                                               conversionRequest.ToCurrency,
                                               conversionResponse.Rate));

                return(Unit.Value);
            }