public async Task ExchangesMessage()
        {
            const string EventName = "login";
            var          timestamp = DateTime.UtcNow;

            var signal = new ManualResetEvent(false);

            var subscription = activity.CreateSubscription();

            await subscription.Subscribe(
                EventName,
                e =>
            {
                Assert.Equal(EventName, e.EventName);
                Assert.Equal(timestamp, e.Timestamp);
                Assert.Contains(1, e.Users);
                Assert.Contains(2, e.Users);
                Assert.Contains(3, e.Users);
                signal.Set();
            });

            await activity.Track(EventName, true, 1, 2, 3);

            signal.WaitOne(TimeSpan.FromSeconds(1));

            await subscription.Unsubscribe(EventName);

            subscription.Dispose();
        }