Fix some rspec 3 transition issues

Use defined `mock` variable instead of calling `double`
Get rid of a `should_receive`
Rewrite publish_event matcher

This seems to work, but I'm leaving publish_events as is for now