Think about making the storage API more ergonomic.
Some ideas, in increasing difficulty:
Create a getOrCreate Audit table
Snapshot action should read AuditTable at flow execution time (AuditTable information is currently out of date if another action writes to the table before snapshot is made in the same flow)
Put AuditTable objects as returns for labels on the flow so the open and create actions can be on the flow
Think about making the storage API more ergonomic. Some ideas, in increasing difficulty: