using standard polyfill wrapping pattern to access global scope in multiple runtimes, including nodejs