New way using defineProperty
Finally Finished