From ether-router manual:
Allows you to have a contract with a stable address, but fully controllable and upgradeable behavior.
It looks like a nasty workaround for deeper problem in ethereum architecture, isn’t it?
Guys, we should stop use ethereum addresses as a public ids for mutable entities! We have ENS for that.
It should be possible to address a contract (or even contract+function callpoint) by ENS name.
I know, it requires low-level ENS integration into ethereum core and there are challenges here, but now I am asking you just about the idea.
Does it make sense?
What do you think?