       data         = value.data
       attachments  = value._attachments
 
+      pushEvent = (callback) ->
+        event              = new Event name, data
+        event.uid          = uid
+        event.aggregateUid = aggregateUid
+        events.push event
+        callback()
+
       if options.loadBlobs and attachments?
         attachmentsQueue = async.queue (attachment, attachmentCallback) =>
           request

    request
      uri: @_urlToDocument("_design/events/_view/byAggregate?key=\"#{aggregateUid}\"")
      json: {}
    , (err, response, body) ->
      if err?
        callback err
      else

        , 1

        attachmentsQueue.drain = ->
          pushEvent rowCallback

        for k, _ of attachments
          attachmentsQueue.push k
      else
        pushEvent rowCallback
    , 1

    rowsQueue.drain = ->
