How to update Makie.jl plot based on ComputeGraph?

I am using the ComputeGraph feature of Makie.jl for the first time. After adding widgets (observables) as nodes in the graph, I also added nodes for the plot objects:

# initialize scene with elements
# that do not depend on inputs
fig = Figure()
ax = Axis(fig[1,1])
sl = Slider(fig[1, 2], ...)

# create compute graph mapping
# inputs to outputs and plots
G = ComputeGraph()
add_input!(G, :w, sl.value)
map!(w -> [cos(w .* x) for x in 0:2pi], G, :w, :y)
map!(y -> lines!(ax, y), G, :y, :lineplot)

# initialize the elements in the
# scene that depend on inputs
G.lineplot[]

If I request the value of the node with the plot object, I get the display of the plot in the scene, as shown above. How to update these plot objects on every change to the mapped widgets? I am looking for the correct on idiom, something like:

on(any_change_to_input_nodes) do
  # update plots
  G.lineplot[]
  G.scatplot[]
  ...
end

Or a different method is recommended to get automatic plot updates whenever changes are made to input Observable nodes stored in a ComputeGraph?

it’s thought to be created in recipes as part of the plots compute graph…or the nodes are supposed to be handed to the plot, not created inside the computegraph…they ideally use pure functions. for creating plots on a signal, observables are the right tool;)

Is it possible to query all input observables of a compute graph? That would be enough for current purposes. I see that we can get the nodes with graph.inputs, but they are not the observables that can be used in on listeners.