BREAKING CHANGE: with_* methods now require a block

* If you wish to use the old style blockless versions, see the new use_*
  methods.