         parameters.unshift "-w" if options.watch?
         watching = "Watching the %s directory".blue
         logger.info watching, library if options.watch?
-        compiler = spawn "coffee", parameters
-        compiler.stdout.pipe process.stdout
-        compiler.stderr.pipe process.stderr
-        compiler.on "exit", (status) ->
+        assert _.isObject compiler = spawn "coffee", parameters
+        assert _.isObject compiler.stdout.pipe process.stdout
+        assert _.isObject compiler.stderr.pipe process.stderr
+        assert _.isObject compiler.on "exit", (status) ->
             failure = "Failed to compile library".red
             success = "Compiled library successfuly".green
             logger.error failure if status isnt 0

    # build system; such as documentation, compiled JavaScript artifact,
    # and every other piece of generated data that the system knows of.
    task "cleanup", "remove everything generated by build", (options) ->
        knm = "clean-modules" of options
        modules = options.modules or DEFAULT_MODULES
        artifact = options.artifact or DEFAULT_ARTIFACT
        documents = options.documents or DEFAULT_DOCUMENTS

        parameters = [pattern, "Cakefile", index, "-o", documents]
        parameters.push "--github" if g = "git-hub-pages" of options
        logger.info "Publishing docs to GitHub pages".yellow if g
        assert _.isObject generator = spawn "groc", parameters
        assert _.isObject generator.stdout.pipe process.stdout
        assert _.isObject generator.stderr.pipe process.stderr
        assert _.isObject generator.on "exit", (status) ->
            failure = "Failed to generate documentation".red
            success = "Generated documentation successfuly".green
            logger.error failure if status isnt 0
