Reset invisible fields to None
I'm wondering if we should not reset invisible fields. An invisible field (by states) means that it has no meaning in the current state of the record but if there was value on it (before it became invisible), this can lead to inconsistency. So I think the clients should set the values to None.