     # eventEmitter, when the client has received the results call callback
 
     sendReadMessage: (name, query, callback) ->
-      socket.emit "LiveDocumentRead", name, query, callback
+      socket.emit "LiveDocumentRead", name, query, requestCallbackNonce
+      socket.on "LiveDocument" + requestCallbackNonce, callback
+      requestCallbackNonce += 1
 
     # **sendCreateMessage** *private*
     #

      @sendCreateMessage _.pluralize(_.uncapitalize(@name)), document, callback
      return instance


    register: (liveDocumentClass) ->
      classes[liveDocumentClass.name] = liveDocumentClass


requestCallbackNonce = 0
define ["underscore", "lib/inflection", "lib/socket"], (_, inflect, socket) ->
  
  _.mixin(inflect)
