Optimization: now reusing jvm, and using singleton caches to reduce how often we have to reload the distributed cache stuff