How to bidirectionally link a param and hv stream?

This seem to do the trick

class Test(param.Parameterized):
    x = param.Number(0)
    y = param.Number(0)

    def __init__(self, **params):
        super().__init__(**params)
        self.tap = hv.streams.Tap(x=self.x, y=self.y)
        self.dmap = hv.DynamicMap(self.draw, streams=[self.tap])

    def draw(self, x, y):
        self.x, self.y = x, y
        return hv.Points((x, y))

    @param.depends("x", "y", watch=True)
    def _update_param(self):
        self.dmap.event(x=self.x, y=self.y)

    def panel(self):
        return pn.Column(
            self.dmap,
            pn.Row(self.param.x, self.param.y)
        )