Use Object.defineProperty instead of __defineGetter__