Actually this smells like a good point to implement the Observer pattern.