Add original value tracking to ContentNode