Definitely. Be sure to construct new instances of your concrete Data class with a unique set of keys before using Obj-Save. If updating a Data class you either Obj-Open it by its unique keys, or use Obj-Open-By-Handle using its pzInsKey, then modify Property values, followed by Obj-Save. Note the "Locking" tab on the Data class's rule form.
During flow processing the FinishAssignment Activity will take care of issuing a commit. If not within a flow processing context your Activity needs to execute a Commit step directly.
Be sure to check for errors whenever using an Obj- method or Commit. During flow processing to prevent a Data instance from being saved after an Obj-Save has been issued against it, set an error on the case using Page-Set-Messages. If not in a flow processing context execute the Rollback method directly,