Updated Oberserver Pattern