undo/redo with action classes

Did anybody already have experience in implementing an undo/redo functionality with Yii?

My approach would be to use action-classes and keep their objects after executing run() persistent in the database. So I struggle with several open points:

How to persist objects from action-classes?

How to reduce effort in the database design due to a lot of different action-classes (ORM)?

How to make all persistent objects accessible - I guess I need a new model here?

How to call undo() in the right order - during a new controller?

Any help would be appreciated

Thx Achim