First pass at cukes matching Emily's spec doc

Have broken the existing spec, not going to fix till we're happy these
are the specs we're going to implement