Update Entire Dashboard with uploaded CSV

I have a python class that with an init function that takes a csv and turns it into a pandas dataframe. Next, there are several class methods that create 5 plotly express plots and a dash table. Finally, there is a class method that constructs a dash dashboard by calling the plot member functions. So basically, the self.CreateDashboard() method styles the dashboard and creates a bunch of plots.

What I am trying to do is use the dash upload core component to allow the user the upload a new csv once the initial dashboard has been created. So the upload callback will have to upload a csv, store it as a variable which can then be used to create a new class instance and therefore a “new” dashboard. Or perhaps a better way would be to start with just an upload button which then the user uses to upload a csv to create the initial dashboard.

Reading the docs, it seems the upload component has to output to another Dash component like a single plot or table. Is there a way to make the upload dash component “output” to a custom python class?