[NewFeature] Add Observer Pattern.