1. A method of maintaining one or more properties of one or more software objects comprising: binding a container object for each software object, wherein the container object acts as an interface to one or more properties of the bound software object; associating a software program of the container object with one of the properties of the bound software object; and evaluating the software program to produce a value for the associated property.