More improvements to CachedDataViewModel (more breaking changes), and better tests.