     public typealias Handler = (RetryFailureInfo<T>, Payload) -> Payload?
 
     let retry: RetryGenerator<T>
-
+    
     /**
      A designated initializer
      

     operation regardless of error info.

     */
    public convenience init<G where G: GeneratorType, G.Element == T>(maxCount max: Int? = 5, strategy: WaitStrategy = .Fixed(0.1), _ generator: G, retry: Handler = { $1 }) {
        self.init(maxCount: max, delay: MapGenerator(strategy.generator()) { Delay.By($0) }, generator: generator, retry: retry)
    }

    public override func willFinishOperation(operation: NSOperation, withErrors errors: [ErrorType]) {

        let tuple = TupleGenerator(primary: generator, secondary: delay)
        retry = RetryGenerator(generator: anyGenerator(tuple), retry: block)
        super.init(maxCount: max, generator: anyGenerator(retry))
        name = "Retry Operation <\(T.self)>"
    }

    /**
     An initializer with wait strategy and generic operation generator.
     This is useful where another system can be responsible for vending instances of
     the custom operation. Typically there may be some state involved in such a Generator. e.g.

