StaticServerProvider is also a singleton, so I don't think it's a good idea to store the root of the current project here so we don't have to worry about it going stale.

The unit tests can call ProjectManager.getProjectRoot().fullPath whenever they need it, right? If not, then maybe store it in the nodeConnection?