public void Handle(AwaitMessage message)
            {
                var correlation = message.CorrelationId;
                var dueTime     = _expiryCalculator.CalcExpiry(_config.AwaitTimeout);

                // If our await expires, we are no longer interested in any further action or timeout extensions.
                _actionScheduler.ScheduleAction(dueTime, new Context {
                    CorrelationId = correlation
                },
                                                cxt =>
                {
                    _marshaller.Send(new CancelOperation(correlation), _actorSocket);
                    _acks.Remove(correlation);
                });

                _logger?.Invoke($"{message.GetType().Name} Id:{message.CorrelationId} ({_config.AwaitTimeout} ms)");
            }