use NSOperation's native completionBlock for composite operations