define bastic UndoableTask that will be used for model specific operations, applied to shift and rotate operations to begin. refactored menu and toolbar management to use a common shared item, still to be finished though