1. Create a command which converts a mixed case string to upper case. 2. Same as #1 but add a reverse command and intentionaly undo the change. 3. Add the command and reverse and a little nasty suprise to force the CommandFrame to roll-back the commands automatically because of a problem in the transaction.