Added my version.  It has the text area with undo / redo functionality and it has the areas that need to be pushed to the server.

The push to server code needs to go into the area marked as "TODO"