shared caching for ColorViewer