propertyObserver support prototypal inheritance