Use events for caching loading