change GalleryEdit to use async saving