added redo() and persists() to template and all commands