     # Starting the execution
     @startupDate = new Date unless @startupDate
     @started = true
-    @emit 'start',
+    @bufferedEmit 'start',
       start: @startupDate
 
   checkIfFinished: ->

    processOps = (err) =>
      if err
        throw err if @listeners('process-error').length is 0
        @emit 'process-error', err

      unless graphOps.length
        processing = false

        # Handle activation for legacy components
        source.component.__openConnections = 0 unless source.component.__openConnections
        source.component.__openConnections++
      @bufferedEmit 'connect',
        id: socket.getId()
        socket: socket
        metadata: socket.metadata
    socket.on 'begingroup', (group) =>
      @bufferedEmit 'begingroup',
        id: socket.getId()
        socket: socket
        group: group
        metadata: socket.metadata
    socket.on 'data', (data) =>
      @bufferedEmit 'data',
        id: socket.getId()
        socket: socket
        data: data
        metadata: socket.metadata
    socket.on 'endgroup', (group) =>
      @bufferedEmit 'endgroup',
        id: socket.getId()
        socket: socket
        group: group
        metadata: socket.metadata
    socket.on 'disconnect', =>
      @bufferedEmit 'disconnect',
        id: socket.getId()
        socket: socket
        metadata: socket.metadata
