The Observer Pattern is similar to the event bus system, but specifically tailored to multiple instances of an object/subject with multiple observers for individual, unique events. An observer directly affects a subject depending on the subject's current state.