Simulating undo/redo in flash movie

i’m making a drawing tool in flash with the ability to draw shapes, put text, etc. i need to incorporate undo/redo facility in it. is there some efficient way to go about it? or will i have to go the hard way, remembering in some way the last three actions performed by the user in an array or stack or something??

please help…