1. A method for providing metadata, comprising: creating an object descriptor class for an object; providing an object descriptor interface using the object descriptor class; using methods defined by the object descriptor interface to identify a property of the object; creating a property descriptor class for the property of the object; providing a property descriptor interface using the property descriptor class; and using methods defined by the property descriptor interface to obtain metadata associated with the property.