FileWatcher has a locking object that it uses when updating the files and folders attributes. All of these attributes are actually public, and not thread safe. FileWatcher should be cleaned up, with variables renamed to indicate they should not be used by external code directly.