public async Task HandleRequestsAsync(CancellationToken cancellationToken = default)
        {
            await foreach (var request in _queue.ReadAllAsync(cancellationToken))
            {
                if (_elevatorMover.HasToMoveToAnotherFloorToPickUpPassengerFor(request))
                {
                    await _elevatorMover.MoveToFloorAsync(
                        _elevatorMover.CreateRequestForMovingToFloor(_elevatorMover.Elevator.CurrentFloor, request.FromFloor),
                        cancellationToken
                        );
                }

                await _elevatorMover.MoveToFloorAsync(request, cancellationToken);
            }

            await _queue.Completion;
        }