Refactor key translations so route.accepts & route.returns can use it.