Fetch or map and cache, beautiful method