added #{attribute}_will_change! when updating so that #{attribute}_changed? behaves correctly