Lets say I have a contract with a bunch of individual properties. For example, a person with a firstName and lastName field.

A user of a dapp wants to change both fields, which would take two individual transactions.

This is problematic from a UX perspective, since its possible that one of the transactions succeeds while the other fails, and the user must be made aware of it.

This becomes more problematic when changes are codependent. Consider a user who wants to change the firstName of a person CONDITIONAL on the lastName changing.

Is it possible to chain these independent transactions into a single all or nothing transaction?