     watcher = (new fs_utils.FileWatcher)
       .add(directories)
       .on('change', addToFileList no)
-      .on('remove', (path) -> fileList.remove path)
-    assetWatcher = (new fs_utils.FileWatcher)
-      .add(assetDirectories)
-      .on('change', fileList.resetTimer)
-      .on('remove', fileList.resetTimer)
+      .on('remove', removeFromFileList)
     fileList.on 'resetTimer', -> writer.write fileList
     writer.on 'write', (result) ->
       assetPath = sysPath.join rootPath, 'app', 'assets'

  directories = ['app', 'vendor'].map (dir) -> sysPath.join rootPath, dir

  fileList = new fs_utils.SourceFileList
  
  helpers.loadPlugins config, (error, plugins) ->
    return logger.error error if error?
    start = null
    addToFileList = (isPluginHelper) -> (path) ->
      start = Date.now()
      logger.log 'debug', "File '#{path}' was changed"
      compiler = plugins.filter(isCompilerFor path)[0]
      return unless compiler
      fileList.add {path, compiler, isPluginHelper}

    plugins.forEach (plugin) ->
      return unless plugin.include?

        logger.error "Asset compilation failed: #{error}" if error?
        logger.info "compiled."
        logger.log 'debug', "compilation time: #{Date.now() - start}ms"
        watcher.close() unless persistent
        callback null, result
    watcher

