| 410 |  | The architecture was revised yet again for what is hoped to be the final time: | 
          
            | 411 |  |  | 
          
            |  | 410 | The architecture was revised yet again for what is hoped to be the final time. This includes: | 
          
            |  | 411 | * Filter system, to intercept events and present them in a specific manner to the dispatcher | 
          
            |  | 412 | * Caches, referenced by the dispatcher for cache-related filters. These are manipulated by the upstream objects when they receive results from their server halves. | 
          
            |  | 413 | * Flow entry caching - for storing results from servers. This system is "already there", as in, it is a matter of pointing things to the static flow pusher. | 
          
            |  | 414 | * Current events cache - for providing an event-triggered filter with the "current" context for the event. Manipulated by server results like the device/switch caches. | 
          
            |  | 415 |  | 
          
            |  | 416 | Each upstream object has a local table to map transactions to source, for proper choosing of return path. | 
          
            |  | 417 |  | 
          
            |  | 418 | The logical organization of the system then looks like this: |