As some of these require discussion (addition of undo/redo for e.g.), this is better suited to a task #108641.