## Sequences The unix philosophy states: > Write programs that do one thing and do it well. Write programs to work together. In an event driven architecture too, it is useful to split up functionality into smaller chunks. These chunks can then be implemented as either microservices or functions. We then need to pass the events from the producer through a series of consumers. This time rather than creating several channels and subscriptions, we will create a `Sequence` instead. A Sequence lets us define an in-order list of functions that will be invoked. Sequence creates `Channel`s and `Subscription`s under the hood. Let's see this in action now. We will create the following topology where the event is passed from Producer to Consumer 1, who transforms the event, and then passes it along to Consumer 2, which displays the event. ![seq](assets/sequence.png) First, let's create the final consumer: ``` cat <