Please consolidate `save` and `saveCallback` into one method called `save`—remember: other people have to use this API as well.