private void destroyBGPhotoLoader(bool _optionalCallback)
 {
     if (_bgPhotoLoader != null)
     {
         _bgPhotoLoader.photoLoadProgress -= handlePhotoLoadProgress;
         _bgPhotoLoader.destroyInternals();
         _bgPhotoLoader = null;
         if (_optionalCallback == true) createBGPhotoLoader();
     }
 }
 private void destroyChromaPhotoLoad()
 {
     if (_chromaImageLoader != null)
     {
         _chromaImageLoader.photoLoadProgress -= handleChromaPhotoLoadComplete;
         _chromaImageLoader.destroyInternals();
         _chromaImageLoader = null;
     }
 }
 private void createBGPhotoLoader()
 {
     if (_bgPhotoLoader == null)
     {
         _bgPhotoLoader = new AsyncPhotoRetrieval(ApplicationModel.ASYNC_MODE_RETRIEVE_SUBMITTED_MEDIA);
         _bgPhotoLoader.photoLoadProgress += handlePhotoLoadProgress;
         // Starts async ops on the photo loading will dispatch the above event
         // when complete
         _bgPhotoLoader.init();
     }
     else
     {
         destroyBGPhotoLoader(true);
     }
 }
 /// <summary>
 /// This uses a background worker so it wont block. Will suck up some memory though
 /// as it loads all the photos into memory.
 /// </summary>
 private void createChromaPhotoLoad()
 {
     if (_chromaImageLoader == null)
     {
         _chromaImageLoader = new AsyncPhotoRetrieval(ApplicationModel.ASYNC_MODE_RETRIEVE_CHROMA_KEY_MEDIA);
         _chromaImageLoader.photoLoadProgress += handleChromaPhotoLoadComplete;
         _chromaImageLoader.init();
     }
 }