         eventId = eventIds[i]
         @deleteEvent(calendarId, eventId)
         .then (args) ->
+          httpResponses.push args.res
+          data.push args.data
           count++
           if count >= numEvents
-            resolve()
+            resolve(httpResponses, data)
         , (err) ->
+          httpResponses.push args.res
+          data.push args.data
           count++
           if count >= numEvents
-            reject()
+            reject(httpResponses, data)
         i++
       return
     new Promise(action.bind(@))


  addEvents: (calendarId, events) ->
    action = (resolve, reject) ->
      numEvents = events.length
      count = 0
      i = 0
      while i < numEvents
        @addEvent(calendarId, events[i])
        .then (args) ->
          count++
          if count >= numEvents
            resolve()
        , (err) ->
          count++
          if count >= numEvents
            reject()
        i++
      return
    new Promise(action.bind(@))


  deleteEvents: (calendarId, eventIds) ->
    action = (resolve, reject) ->
      data = []
      httpResponses = []
      numEvents = eventIds.length
      count = 0
      i = 0
