Objects should track their original state and do a top-field-level diff with the state to be saved to determine what fields should be sent in the PATCH request.
This strategy should be configurable at the provider level to allow users to swap in their own implementation.