New Tests

Found another corner case that does not match the native implementation.

1. define an async listener
2. create a callback that throws
3. define another async listener

The callback's error should only propagate to the first listener.