When dealing with sub-assemblies the idea of viewing the state for a particular instance of a sub-assembly becomes very useful.
But how this is done might feel more convoluted that necessary.
Logisim uses the idea of a hierarchy for the current simulation where you can select specific instances to inspect.
This is something we have to deal with in our simulations too.
What I would change is that in the "assembly browser" we always open a new state instead of opening the last viewed instance.
When dealing with sub-assemblies the idea of viewing the state for a particular instance of a sub-assembly becomes very useful. But how this is done might feel more convoluted that necessary.
Logisim uses the idea of a hierarchy for the current simulation where you can select specific instances to inspect.
This is something we have to deal with in our simulations too.
What I would change is that in the "assembly browser" we always open a new state instead of opening the last viewed instance.