Added tasks to NSOperationQueue so we don't block on the main thread.  Disabled user interaction when loading.  Added some error handling.