Deal with concurrent modification of cache entries, and key the caches to GraphView instances...allowing them to expire when the object it GCed