Dynamic Callback with an arbitrary number of graphs relayoutData dependant crossfiltering


I am a bit stuck with creating an app. Therefore I am asking for some help to get around this issue.
As the title says, I am trying to get an app with a variable number of graphs, which depend on a dropdown offering the signals of a data frame. The relayoutData component of every graph should be considered
and that is where I am stuck; how to get the RelayoutData of an arbitrary number of graphs?

I imagine it to look like this:

[Output(‘output_graph_container’, ‘children’),
Output(‘fig_3D’, ‘figure’)],

 [Input('input-{}'.format(i), 'relayoutData') for i in signal_selection
 Input('button', 'n_clicks'),
 Input('rawbutton', 'n_clicks'),
    State('relayout-Data', 'children'),
    State('memory', 'data'),
    State('signal_selection_memory', 'data')])

def update_figure(**kwargs,reset,raw,sig_select,relayoutData,data,sig_select_mem):

My question is not very clear and the code does not make sense, but I still hope someone can get me back on track of what I am trying to achieve. Should I make a callback to store the dropdown selection, then how to acess it ?