I was thinking that it would also be useful for the subclasses, in case they wanted copy/replace their own attributes. How about a check to make sure the attribute is set already, and then only updating it if it's already set?