Yes, both objects know each other if that is what your are referring to. The important thing is *what* they know about each other. While the `BinaryObserver` knows the `Subject` in detail the `Subject` knows only `Observers`. To be more precise the Subject doesn't know the details about your `BinaryObserver` it can only send messages to it that are defined in the `Observer` class. In that way it is decoupled from the details of your `BinaryObserver`class.

To sum up, while the coupling in of the `BinaryObserver` to the `Subject` is very high the coupling in the opposite direction is very weak.