property and descriptor pattern

Experiment with using the property decorator and descriptor interface