Don't change events out from underneath the user - if they were looking at the calls in the trace view or searching for events they won't be expecting them to differ. Instead, do this in the call to getExtension() on the webgl context each time it's called.