code: public static Runnable watch(Path path, PathEventListener listener, WatchEvent.Kind<?>... kinds) throws IOException {
  		synchronized (FileSystemWatcher.class) {
  			Application app = LCCore.getApplication();
  			Watcher watcher = app.getInstance(Watcher.class);
  			if (watcher == null || watcher.stop) {
  				watcher = new Watcher(app);
  				app.setInstance(Watcher.class, watcher);
  			}
  			return watcher.watch(path, listener, kinds);
  		}
  	}
docs: Watch the given path.
  This will launch the thread if not yet launched.
  The returned Runnable can be called to stop watching.