test: unit test wizard navigation, especially undoing step effects.
Required changing the concise @contextmanager functions into more
verbose classes which can be entered in more than one `with` statement.
Less elegant, sigh, but it's what I needed to test back() in a simple
way.