delete window[callback] fails in IE8 + add hasOwnProperty