This example has a lot of behaviours tested - it might be possible to split it into multiple ones:

1. Exceptions cause envelope to be queued
2. Queue acknowledges the envelope when an exception happens
3. Exceptions are still thrown upwards

(you can probably break it up better than me)