public void WithIntrerfaces() { var observable = new DoorTracker(); var observer1 = new DoorReporter("Observer #1"); observer1.Subscribe(observable); var observer2 = new DoorReporter("Observer #2"); observer2.Subscribe(observable); var door = new Door("Small House"); observable.Notify(door); door.IsOpened = true; observable.Notify(door); door.IsOpened = false; observable.Notify(door); observable.EndTracking(); }