I'm not a big fan of the injection of the input here as it means that the helper becomes stateful. I know that because of BC, we don't have many choices, but another possibility would be to just inject the value of the interaction flag. It would still be stateful, but "less".

While writing this comment, I realize that injection the interaction flag is probably not a good idea, but let's discuss this possibility.