Home work skeleton, Observer pattern.