I for one would vouch for the system that Alias uses, where history is pushed to the history visualiser in which edits can be made to the model in a Grasshopper like fashion. For instance, you can change a sweep’s rail at a later stage in the model and any subsequent relations to other geometry would also be updated. Not to rehearse myself, but it fits in the discussion here, see: this.