1. A method comprising: generating a multi-level, branched hierarchical structure of components that input, process, and output audio data; wherein each of the components implements a messaging interface that conforms to a common interface abstraction; at a first component of the hierarchical structure, receiving a message via the messaging interface of the first component, the message specifying a change to the manner in which an audio stream is being processed by the hierarchical structure; the first component forwarding the message to one or more other components of the hierarchical structure via the messaging interfaces of the one or more other components; at at least a second component of the hierarchical structure, altering a parameter affecting how the second component outputs audio data in response to the second component receiving the message via the messaging interface of the second component; wherein the steps of the method are performed by one or more computing devices.