refactor: reduce dependency on peer.Router
now the only code depending on it is Peer itself