One question here, and we can do this in another bug: how do we make sure that they aren't removing a field if they leave it absent?  That is, do we expect all fields to have the same value as the original?  If I leave one off, since I'm not updating it, should this delete it?  It will here.