See #16. Check for sane/working Object.defineProperty to avoid IE8 issues