This approach is far closer to what the developers are used to - and I really like the Widget idea out of the box, which native Cucumber/Ruby + Capybara doesn't address in any way (exercise for the reader). Unfortunately, this lack of componentization meant we didn't really focus on re-usability at the code level, only the step level, and that caused a lot of problems. Giving people the Widget library right off the bat so code, not steps, are the unit of re-usability is absolutely key. Big Kudos!!