C2 Style [Taylor, et al 96]
Components respond to notifications, emit requests (asynchronously)
Connectors coordinate all communication
- First-class objects, function as routers, broadcasters, filters, prioritizers
Messages = name + typed parameters
Notifications of state changes flow “down”
Requests for action flow “up”