Observer Design Pattern in Python