| UndoSystem |
| OnRedo | Called when a redo is run |
| OnUndo | Called when an undo is run |
| Back | Backwards stack |
| Forward | Forwards stack, gets cleared when a new undo is added |
| Initialize | Clear the history and take an initial snapshot. You should call this right after a load, or a new project. |
| Insert | Insert a new undo entry |
| Redo | Instigate a redo, returns true if we found a successful undo |
| SetSnapshotFunctionobsolete | |
| Snapshotobsolete | Should be called after you make a change to your project. The snapshot system is good for self contained projects that can be serialized and deserialized quickly. |
| Undo | Instigate an undo. Return true if we found a successful undo |