Observer Pattern - gemäss Lösung D.Gruntz