Changed the update functionality so the default behavior is to only update values set by the user. Also removed a special case function that I had added last commit. It is no longer needed as it was to be the function to call to get the new behavior as default.