public IDeferral GetDeferral()
        {
            if (Counter == null)
            {
                Counter = new InvocationCounter();
            }

            var deferral = new Deferral(Counter);

            Counter.Increment();
            return(deferral);
        }
 public Deferral(InvocationCounter counter)
 {
     Counter = counter;
 }