public void Transaction_CommitAsyncShouldBubbleExceptions()
        {
            var message = "Message";
            var handlerWasCalled = false;
            var handlers = new List<Func<string, Task>>() { (m) => { handlerWasCalled = true; throw new Exception("This is an exception. There have been others but this one is mine."); } };
            var transaction = new Transaction<string>(message, handlers);

            transaction.NotProcessedActions.Count.Should().Be(1);
            transaction.ProcessedActions.Count.Should().Be(0);

            transaction.Awaiting(x => x.CommitAsync()).ShouldThrow<Exception>();

            handlerWasCalled.Should().BeTrue();

            transaction.NotProcessedActions.Count.Should().Be(1);
            transaction.ProcessedActions.Count.Should().Be(0);
        }