1. A method for organizing data, the method comprising: instantiating an object, wherein the object includes a required trait and a user added trait, wherein the required trait is associated with a known schema, and wherein the object includes object restrictions, wherein the object restrictions define which traits can be added to the object, wherein the object restrictions are based on performance issues, and wherein event handlers of the required trait are determined by an event configuration; validating the required trait by comparing the required trait to the known schema, wherein the required trait includes an XML document and wherein the XML document includes a namespace, and wherein a schema location is identified in the XML document; validating the user added trait based on at least the object restrictions; upon validation of the required trait, adding the required trait to the object at runtime; upon validation of the user added trait, adding the user added trait to the object at runtime; and storing the modified object in a storage device.