added explanations for the observer pattern. It's actually really easy.