Code clean up, reduction and remove unnecessary Array.indexOf polyfill that incidentally interferes with IE8's fireEvent, there's es5-shim for that if needed