Observer Design Pattern (I would love to find a really great lesson on using this design pattern using java )