Removed a case statement via a little polymorphism
Made the receiving method name explicit in the tests, for clarity
Use explicit event names in the specs, for clarity
First pass at converting the specs to use rspec-given
Collect the error cases together in the specs