use Object.defineProperty to define mock properties
use Object.defineProperty to write mock definitions protected on inherited prototype chain, re #196
use Object.defineProperty to write mock definitions protected on inherited prototype chain, re #196