Slightly rework test class hierarchy, add 1st caching holder test and fix bug revealed by it