Make RoostEventTarget behave properly for adding/removing mid-dispatch
Add unit tests for RoostEventTarget