What is the most effective approach to to creating a type of "wizard" interface that takes the user through a process step-by-step, and allows the user to take the steps in any order as he goes along? For instance, the user could start out by selecting from three options: select contacts, select addresses, or selecting a message to send. When he selects one of those options, say select contacts, he sees the interface to allow him to perform that selection, and he sees the other two options to select at any time, which would be select addresses and select message. Say he then selects the option to select a message, he then sees an interface to selecta message and he also sees the other two options. And this continues indefinitely until he selects to send the message.
I think the usual view controllers and segues would work for this. Would I need only one subclass of UINavigationController and three subclasses of UIViewControllers? Could this lead to any problems? Is it possible to do this with view controllers and segues? Is there a better way?
I do use Swift, but this question doesn't require that I use only Swift, as you can see.