       @sendInitials (err) =>
         return callback err if err
         @started = true
-        @sendDefaults callback
+        @sendDefaults (err) =>
+          return callback err if err
+          return callback null if @hasStarted
+          @emit 'start',
+            start: @startupDate
+          @hasStarted = true
+          @hasStopped = false
+          callback null
 
   stop: ->
     # Disconnect all connections

  # Emit a 'start' event on the first connection, and 'end' event when
  # last connection has been closed
  connectionCount: 0
  increaseConnections: ->
    if @connectionCount is 0
      # First connection opened, execution has now started
      @emit 'start',
        start: @startupDate
    @connectionCount++
  decreaseConnections: ->
    @connectionCount--

    if @connectionCount is 0
      ender = _.debounce =>
        return if @connectionCount
        return if @hasStopped
        @emit 'end',
          start: @startupDate
          end: new Date
          uptime: @uptime()
        @hasStarted = false
        @hasStopped = true
      , 100
      do ender

  # ## Loading components
