That's fine as far as it goes, but I don't think that gets you what this article is for, which is things like using the same binding context-dependently to navigate between emacs splits and regular window manager windows, context-dependently. Which is a fun bit of overengineering.