1. A method for processing a plurality of lightweight object instances that share a parent object instance and are stored in a manner that minimizes redundant data, comprising: receiving an indication of a modification with respect to a first lightweight composite object instance that currently shares a parent object instance with at least a second lightweight composite object instance, wherein the modification to the first lightweight composite object instance is to be made to a data comprising the current parent object instance, wherein both the first and the second lightweight composite object instances comprises a corresponding lightweight object instance and a respective link to the current parent object instance, and wherein both the first and the second lightweight composite object instances inherit data from the current parent object instance; generating, using a processor, a new parent object instance including by cloning the current parent object instance and making the indicated modification to the clone, wherein the new parent object instance is different from the current parent object instance; removing the current parent object instance as being designated as a parent of at least the first lightweight composite object instance; and designating the new parent object instance as a new parent of at least the first lightweight composite object instance, wherein the first lightweight composite object instance comprises its corresponding lightweight object instance and a link to the new parent object instance.