refactor the spec

* no instance variable; use around() instead
* uses context()
* use should() instead of expect()
* matchs full messages