what happens if there is an error during callback? Will it restore back to `prev-ruby` and `prev-gemset`?