 
   # Public: A helper method to easily launch and run a task once.
   #
-  # taskPath - The {String} path to the CoffeeScript/JavaScript file which
-  #            exports a single {Function} to execute.
-  # args     - The arguments to pass to the exported function.
+  # * `taskPath` The {String} path to the CoffeeScript/JavaScript file which
+  #              exports a single {Function} to execute.
+  # * `args` The arguments to pass to the exported function.
+  #
+  # Returns the created {Task}.
   @once: (taskPath, args...) ->
     task = new Task(taskPath)
     task.once 'task:completed', -> task.terminate()


  # Public: Creates a task.
  #
  # taskPath - The {String} path to the CoffeeScript/JavaScript file that
  #            exports a single {Function} to execute.
  constructor: (taskPath) ->
    coffeeCacheRequire = "require('#{require.resolve('./coffee-cache')}').register();"
    coffeeScriptRequire = "require('#{require.resolve('coffee-script')}').register();"

    @childProcess = null

    @off()
    undefined
