I'm developing a very complex wizard-style application similar to tax preparation software. The user is guided through many screens, each asking for some piece of data. Different answers lead the user down potentially different paths and there are dozens of screens they will ultimately see.
This project started small so I hard-coded the "next" and "previous" steps based on answers on the current screen, but it has quickly become obvious that this strategy will not scale. I'm sure I can come up with some sort of solution on my own, but I'm sure there are known patterns and best practices for this sort of problem. I've done some googling for such a pattern without success so far. Can anyone give me some insight into a good solution to this sort of problem?
For context, my UI is Angular 2 and my back-end is C# Web API.