refactor to use new CacheObj case class
refactor to interrogate arguments passed to mocks in tests