Don't do the layout twice, just make a string of it before starting.
Actually raise a real exception when something goes wrong.
Adding a way to see unsaved tabs in the current group.