Return value seems like over-using/abusing `IObservable<T>` to me. Wouldn't this be better as a `Task<IBitmap>` Similar comment for `Save()`.