       if @options.batch
         if changedFiles.length > 0
           @execFunc changedFiles, (err) =>
+            growl("#{@name}\n#{err}") if err
             return cb(err) if err
             async.forEach changedFiles, _.bind(@updateMtime, @), cb
         else

  async.forEachSeries _mappings, ((m, innerCb) -> m.run(innerCb)), (err) ->
    return printErr(err) if err
    console.log "Build complete"

startWatcher = (cb = noop) ->
  console.log "Starting watcher"

        if changedFiles.length > 0
          x = (f, innerCb) =>
            @execFunc f, (err) =>
              growl("#{f}\n#{err}") if err
              return innerCb(err) if err
              @updateMtime(f, innerCb)
          async.forEach changedFiles, x, cb
