Used cached $defineProperty for small performance gain.