refactoring core: switch to using JavaScript Property Descriptors to implement Python Property Decorators.
fixes property decorators not callable from JavaScript.