Observer pattern added.