Undo NOT done.

Re wrote the code from the base app upon Prof's request. Everything
should work except for the Undo. I left undo unimplemented, will work
on undo after Anthony merge his code for the web related stuff.