This is an untested candidate system metaphor for a web browser based code browser. I want emergent behavior from a bunch of components. I give each component a rank. Everytime something happens in the system, I create a blank new collection-plate state. I send the collection-plate state to each component, highest rank to lowest rank. Each component does stuff based on the state, and possibly changes the state. ---- ''Don't get the collection plate metaphor. A collection plate is that thing in church they pass around to receive your donations.'' Usually state is implicit. The state of one object is the current value of its instance variables. The state of five objects is the total current value of all their instance variables. I am proposing (for my application) to make the state explicit. Each component explicitly donates what it wants to, one at a time, to construct the current state. ''Got it.''