Added observer pattern notes and sample code