@myronmarston I think passing in a strategy in the constructor of `StubChain` would achieve this aim. That way we don't need to construct a new StubChain each time, we can just call walk_chain to achieve recursion. I really like the DI of the strategy here so that the StubChain object becomes configurable by introducing new collaborators.