looking at this made me realize we could probably get away with caching most of these commands in a static.  They don't use any state in CommandFactory and their allocation does show up a bit in profiles.  That's why a lot of the commands in Normal / Visual mode are cached.  I'll look into doing this in another change.