Call callback passed to save() on both success and failure, pass error as first argument