Record changes even if we don't set the byte array.

Fixes a bug where an edit may have not taken effect.
Handle multiple-value editing (eg: from pasting bytes)