Compute the cursor state after the edit operations were applied.
The model the command has executed on.
A helper to get inverse edit operations and to get previously tracked selections.
The cursor state after the command executed.
Get the edit operations needed to execute this command.
The model the command will execute on.
A helper to collect the needed edit operations and to track selections.
A command that modifies text / cursor state on a model.