Added FileSystemWatcher abstraction