@panthro I think you’re over-complicating things. If there are different steps, then create separate views and controllers for those steps.
For example, a checkout might be split into billing, shipping, and payment steps. There’s nothing wrong in having dedicated views and controllers for those individual steps, i.e. Checkout\BillingDetailsController, Checkout\ShippingDetailsController, etc.