overview of the observer and decorator patterns 2380236