add the observer pattern example