1. A method of processing data comprising: defining an object with an option data structure which supports references to option values without preallocation of memory space for the full option values; and notifying objects of a change in an option value through a change handler identified by an option binding, the option binding being located by first searching a mapping data structure for a previously computed mapping to the option binding and, if no mapping was previously computed, by then computing the mapping to the option binding and storing the mapping in the mapping data structure.