This is awesome: DeferredFileSystemWatcher class

If you ever need another FileSystemWatcher for anything, use this instead. Since these are generally used to refresh lists of files, a deferred version is always desirable so you don't get hit with 100 consecutive events whenever something like git creates a bunch of files.  I even had it inherit from FileSystemWatcher so you can plop it right on a form!