Proposes the first breadcumbs of a BDD API

I don't know how much of this is possible (especially the lazy `let` bit), or if the `should` syntax is the best initial approach. Thoughts?