Add .with() syntax for building scenario

Makes it easy to test that a function validates its inputs.