add more observer pattern notes