Only update changed attributes. Don't store values that are nil or match the default.