1. A computer-implemented method of propagating changes made in one data element to a related data element, comprising: accumulating, by a processor, the changes made in the one data element using a unique element ID; identifying, by the processor, a predetermined plurality of possible different sets of changes that may be made in the related data element; selecting, by the processor, a most appropriate set of changes by employing a predetermined selection standard; and testing, by the processor, the selected set of changes to determine whether it is an appropriate set of changes, wherein testing the selected set of changes comprises verifying the one data element and the related data element for constraint satisfaction.