Using Object.defineProperty over deprectated defineGetter and defineSetter