Basic Model + cacheFactory implementation