FileWatcher improvements:
 - Improve mechanism on save. Start/stop watch only when needed
 - Don't try to start watch if the specified path doesn't point to a directory