an observer pattern example using stack exchange archive