Why it matters Reducing dependencies Easy to add new behavior (just add a new consumer) Enables real-time-processing But: more complex