code: def ObjectTransitionedEventHandler(obj, event):
      
  
      # only snapshot supported objects
      if not supports_snapshots(obj):
          return
  
      # default transition entry
      entry = {
          "modified": DateTime().ISO(),
          "action": event.action,
      }
  
      # get the last history item
      history = api.get_review_history(obj, rev=True)
      if history:
          entry = history[0]
          # make transitions also a modification entry
          timestamp = entry.pop("time", DateTime())
          entry["modified"] = timestamp.ISO()
          entry["action"] = event.action
  
      # take a new snapshot
      take_snapshot(obj, **entry)
  
      # reindex the object in the auditlog catalog
      reindex_object(obj)
docs: Object has been transitioned to an new state