Added async tasks for caching

Moves off the caching to async tasks so the UI thread doesn't get locked up so much.