It should call removeEventListener on each listener instead of doing whole-sale cleanup
It should call removeEventListener on each listener instead of doing whole-sale cleanup