some early WatchService work (not enables by default); closes #4; closes #3; closes #1; closes #5