# File lib/compass/commands/watch_project.rb, line 70
      def notify_watches(modified, added, removed)
        project_path = Compass.configuration.project_path
        files = {:modified => modified,
                 :added    => added,
                 :removed  => removed}

        run_once, run_each = Compass.configuration.watches.partition {|w| w.run_once_per_changeset?}

        run_once.each do |watcher|
          if file = files.values.flatten.detect{|f| watcher.match?(f) }
            action = files.keys.detect{|k| files[k].include?(file) }
            watcher.run_callback(project_path, relative_to(file, project_path), action)
          end
        end

        run_each.each do |watcher|
          files.each do |action, list|
            list.each do |file|
              if watcher.match?(file)
                watcher.run_callback(project_path, relative_to(file, project_path), action)
              end
            end
          end
        end
      end