Moved the specification of Given/When up to the scenario level. Whens now
also supports predicates to react on changes in the context. Closes #973