if self._cache_path doesn't exist, self._needs_update returns True