Working version: async loading, first from local data, then from refreshed data.