I've put an update method on my ValueObjects in my current project. It takes an object of the same type as an argument, checks against the UID, and replaces all of the other values if the UID is a match. It seems really handy when I am updating objects from forms and whatnot, but I wam wondering, is this just bad form? It makes me feel a little dirty