public async Task Handle(OnTagReadNotification notification, CancellationToken cancellationToken)
            {
                _logger.LogInformation("RFID Reader read tag:" + string.Join(", ", notification.TagData.UID.Select(x => x.ToString("X"))));

                var ct = new CancellationTokenSource();

                try
                {
                    var blinkTimes = 5;

                    _ = _ledService.Blink(blinkTimes, Color.Blue,
                                          callback: async() => await _buzzerService.BuzzAsync(TimeSpan.FromSeconds(1)),
                                          cancellationToken: ct.Token);

                    var result = await _mediator.Send(new AuthorizeCommand(DeviceId, notification.TagData.UID));

                    ct.Cancel();

                    if (result.Authorized)
                    {
                        await _mediator.Send(new DisarmCommand());
                    }
                    else
                    {
                        var errorTime = TimeSpan.FromSeconds(10);

                        await BlinkRedAndBuzz(ct, errorTime);
                    }
                }
                catch
                {
                    ct.Cancel();
                }
            }