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