A look at the driver pattern and using a layer of abstraction between your step definitions and automation code in order to keep the code in bindings short and clear.
From this perspective the Driver pattern ought to be thought of, not as a classic software design pattern as in the 'Gang of 4' classic software design patterns. Probably better thought of as a pattern in the perspective of a "reusable solution to a commonly occurring problem" in your software project.
It's from this perspective that we introduce the driver pattern and see how we can use it to improve the architecture of our SpecFlow projects.