LiveView and non-existent/optional values in assigns

This still doesn’t solve a common thing I’ve run into with what I’m slowly trying to build.

Imagine a page with multiple dynamic components that can be added or removed at whim:

Page
  Component A
  Component B
  Component C
  ...
  ...

Basically, a thing that’s common in pretty much any CMS.

There could be several external processes doing something (retrieving external data, publishing or rendering, exchanging data etc.) that communicate current progress back to the page. Then:

Page

   if there's progress for Component A
      display progress bar
      disable Component A
   display Component A

   if there's progress for Component B
      display progress bar
      disable Component B
   display Component B

  ...

All these become something like if assigns[:progress][:some_id] != nil. They are already split into separate components, but separate components cannot subscribe to PubSubs.

I guess a way around it is to just create an entry in assigns[:progress] every time a component is added.