Rollback or arbitrary undo capability?

One of my coworkers is writing some code that interacts with Shotgun; he is writing it in such a way that end users will fee free to experiment and possibly undo their work and try again.  The problem right now is that along the way of trying out ideas, one or more Shotgun API calls may be made (maybe creating or updating entities).  Is there a way to rollback or undo if the user hits the "gosh, that's not what I want, let me start over" button in this application?