I like this use of properties; is there any reason not to extend it so that it can be used to set as well as get the value?