Rework SaveAsync to be more streamlined and to properly handle server-side exceptions.