file saving with progress and cancel.  But it's not working right.
Seems to be on the main thread.