How do I manually set x, y in a Tap Stream?

import numpy as np
# create an empty Points element
points = hv.Points([])
# Create the Tap stream with the points element as the source
# We set the x and y here with starting values
stream = hv.streams.Tap(source=points, x=np.nan, y=np.nan)

# make a function that displays the location when called.
def location(x, y):
    """Display pane showing the x and y values"""
    return pn.pane.Str('Click at %0.3f, %0.3f' % (x, y), width=200)

# Display the points and the function output, updated
# whenever the stream values change
layout = pn.Row(points, pn.bind(location, x=stream.param.x, y=stream.param.y))
# display the container
layout
stream.param.set_param(x = 20, y=20)

yields
TypeError: Constant parameter 'x' cannot be modified

I guess is the same as
https://discourse.holoviz.org/t/how-do-i-manually-trigger-a-stream-or-pn-bind/2166/3