Examples for the observer pattern