   ###
 
   watch: ->
+    set_up_workers.call(@, @opts)
     Watch = require('./api/watch')
     (new Watch(@)).exec()
+    # when watch is cancelled take down the workers
 
   ###*
    * Removes a project's output folder.

        else
          @emit(msg.eventName, msg.data)

module.exports = Roots

  ###

  compile: ->
    set_up_workers.call(@, @opts)
    Compile = require('./api/compile')
    (new Compile(@)).exec()
      .then(disconnect_workers.bind(@))

  ###*
   * Watches a folder for changes and compiles whenever changes happen.
