Adding a new method in the interface is a BC break, which would require us to bump the Gherkin version to 5.0.

Given that the logic in the implementation only depends on other public methods of the class and not on any protected state, I suggest putting the logic in a separate object, leaving the interface untouched