Great stuff, thanks!
I was poking around in the script (the normal one not the lite one), and was wondering whether it would be better to replace the undo/redo command for refreshing the screen at line 286 - 287 with a single call to the Refresh command. Not sure if one way is better than the other, but I did find that the undo/redo calls didnt always work in my own scripts, while refresh seemed to work every time.