could this be factored into a currentProduct member on the scope? you are repeating the indexing a lot, and ideally each step of this wizard should act like a distinct state to whatever extent practical