Show where we switch to an alternative child
Make it clear we don't expect not to have a step container
Child printers are value objects, check if we're the same child
Remove duplication of call to `switch_child_to`
Use the step source to create step invocations / step matches.

cc @mattwynne