We set the context value to context || this in addEventListener, so we don't need to do so here.
Fix a potential event bug due to bad cleanup.
Improve this test and fix removeEventListener.