Question: I have the following column values in my crystal report:

```
|Code |Unit |
|A    |2    |
|B    |3    |
|C    |2    |
|D    |3    |
|E    |1    |
|F    |1    |
|G    |4    |
|H    |(3)  |

```

I want to summarize the Unit except the Units which has Code H,J,K, and L.
The Codes: H,J,K, and L contains units which has parenthesis.
Is there a way to do this?

Answer: 
I use a FSM machine to change the state of the application. Each states shows and hides the appropriate view. My views use transition to animate in and out, so changing the state is more complex, then simple show/hide - it animates in and out from one state into another. I have forked <https://github.com/fschaefer/Stately.js> to fit my needs.
I can share my personal experience with such a problem. I don't know if it's the best solution, but it worked for me.

My problem was even worse because I had several routers and each of them should hide/show views that belong to it. The solution I chose was similar to the first option you consider. 

In my router there is an array which holds all existing views. When the state changes and route callback executes all other views are hidden with this simple code `view[i].hide()` and the proper one is shown. You can make View model and Views collection if you would like to have more control.

I think it's a better solution, because when you add a new route, you don't have to add route events to all views. Moreover, your views stay decoupled from the router, they may even don't know it exists.