Why should each mode have to handle returning to normal mode like this? Isn't that the job for `Vim`?