The examples you mentioned, are typical use cases of custom functions. I would use a custom function to perform the data transformation server side instead of pulling the entire order to the client, transforming it there and pushing it back again.
I think you misunderstood me when it came down to the save button. With the commit I wasn't referring to a database type commit, but to a functional commit. Perhaps "confirm" would be a better word.
Best,
Jan