Inheritance: INotifyPropertyChanged
 private async Task SaveImage()
 {
     if (SelectedImage.Angle != 0)
     {
         Picture img = new Picture {ImageUri = SelectedImage.ImageUri, Angle = SelectedImage.Angle};
         int imgPos = ThumbnailCollection.View.CurrentPosition;
         IsImageSaving = true;
         await _imageProvider.SaveImageAsync(img.ImageUri, img.Angle);
         IsImageSaving = false;
         _thumbnailCollection.RemoveAt(imgPos);
         // delay to reclaim the deleted image memory
         await Task.Delay(2);
         _thumbnailCollection.Insert(imgPos, new Thumbnail { ImageUri = img.ImageUri });
         Thumbnail selectedThumbnail =
             _thumbnailCollection.First(thumbnail => thumbnail.ImageUri == img.ImageUri);
         ThumbnailCollection.View.MoveCurrentTo(selectedThumbnail);
     }
 }