I feel like we do this pattern everywhere. Maybe a good opportunity to break out a ProgressAsyncTask with an abstract doInBackground?