Use Operation.build() to create operations
Test invocation_context for MotionCommand in VisualMode
Add test file for modes
Explain v<Esc> - start Visual; pop to Normal
Embed VisualMode commandlist inside VisualSwitch
Explain V\e: start Visual linewise; pop to Normal
Explain <C-v>\e: start Visual blockwise; pop to Normal
Explain vv: start Visual charwise, pop to Normal
Explain VV: start Visual linewise, pop to Normal
Explain <C-v><C-v>: start Visual blockwise, pop to Normal
Flatten the list of explanations
Make gv work after using charwise visual mode
Make gv work after using linewise visual mode
Make gv work after using blockwise visual mode