Полагаю, это зависит от ситуации.
Authenticated user
Здесь я бы посоветовал сохранить состояние шагов на стороне сервера. У вас будет возможность восстановить его даже в ситуации, когда пользователь аутентифицирован на другом устройстве / браузере.
Guest
Здесь я бы предложил сохранять состояние шагов в локальном хранилище и восстанавливать его всякий раз, когда вам нужно.