this feels so strange (read: wrong) to change the hash here (btw: you can use `location.hash`), so that the onhashchange is fired in messagemanager, so that activateGroup (defined just below) is called.

I don't feel the need of this indirection. But let's keep it if that's simpler that way, for now.