It looks like you can always avoid needing signals of signals by declaring one signal for each <i>type</i>, not a signal for each <i>instance</i>.<p>All instances of the same message type can share a signal, as long as the messages contain a unique key to distinguish between objects, and the code that lives downstream filters events by key.<p>It&#x27;s much like a database-backed app where you don&#x27;t dynamically create tables while your app is running. Instead, instances are stored within a table and identified by their keys.