         }
     }
 
-    public var recordWithIDWasDeletedBlock: ((T.RecordID) -> Void)? {
+    public var recordWithIDWasDeletedBlock: FetchRecordChangesRecordDeletedBlock? {
         get { return operation.recordWithIDWasDeletedBlock }
         set {
             operation.recordWithIDWasDeletedBlock = newValue

// MARK: - CKFetchSubscriptionsOperation

extension OPRCKOperation where T: CKFetchSubscriptionsOperationType {

    typealias FetchSubscriptionCompletionBlock = [String: T.Subscription]? -> Void

    var subscriptionIDs: [String]? {
        get { return operation.subscriptionIDs }
        set { operation.subscriptionIDs = newValue }
    }

    func setFetchSubscriptionCompletionBlock(block: FetchSubscriptionCompletionBlock) {
        operation.fetchSubscriptionCompletionBlock = { [unowned target] subscriptionsByID, error in
            if let error = error, target = target as? GroupOperation {
                target.aggregateError(error)

        get { return operation.query }
        set {
            operation.query = newValue
            addConfigureBlock { $0.query = newValue }
        }
    }

