 
   forwardToSocket: (name, reducer) ->
 
-    forwardEvents @_runner, @_socket, name, reducer
+    forwardEvents @_runner, @_bufferedEmitter, name, reducer
+
+    # forward reduced events from buffer to socket without reducing again.
+    forwardEvents @_bufferedEmitter, @_socket, name
+
+
+  sendResult: -> @_socket.emit 'result', @_bufferedEmitter.toJSON()
 
 
   connectRunnerToSocket: ->

forwardEvents = require './util/forwardevents'

module.exports = class RunnerSocketConnector



    @_runner = runner
    @_socket = socket

    @_bufferedEmitter = new BufferedEventEmitter

    @connectRunnerToSocket()

