   # * `taskPath` The {String} path to the CoffeeScript/JavaScript file that
   #   exports a single {Function} to execute.
   constructor: (taskPath) ->
+    @emitter = new Emitter
+
     compileCacheRequire = "require('#{require.resolve('./compile-cache')}')"
     compileCachePath = require('./compile-cache').getCacheDirectory()
     taskBootstrapRequire = "require('#{require.resolve('./task-bootstrap')}');"

  handleEvents: ->
    @childProcess.removeAllListeners()
    @childProcess.on 'message', ({event, args}) =>
      @emit(event, args...) if @childProcess?

    # Catch the errors that happened before task-bootstrap.
    if @childProcess.stdout?

_ = require 'underscore-plus'
ChildProcess = require 'child_process'
{Emitter} = require 'event-kit'
Grim = require 'grim'

# Extended: Run a node script in a separate process.
