cache object.defineProperty