entering editmode on a second mesh would create a duplicate tube. Cleaning the undo stack from the previous mesh would mess up the redo. Also, OBJECT_OT_mode_set was causing enter/exit editmode undo push to be done twice, now it leaves undo push to the operator it calls.