observer_pattern
