Clean up special routing for commands to routers with errors

I've always hated this notation because it's so easy to gloss over and read as a dictionary.  Also, do we really need a set here, or would a tuple suffice?