this looks like a bug as you set disk even if `ret != :next` so if client failed and you then click on Cancel you still have wrong disk in InstData