Modify History API, implement TranslateCommand
Collapsing/merging compatible commands is a neat idea but actually
managing all that merging logic and undoing the partial command and
executing the combined command is actually kinda horrific.
Instead for interaction operations we'll just keep a reference around
to the command we started and ensure it encapsulates our changes.