As one who uses Gets and Sets in any new Object I design I found your addProperty() function to be fantastic.
The only thing I wish it did different (if possible) was make the variable a local variable to the object instance and not exposed through "this.".
Is this possible? I tried and was not able to do so.