Facade and Observer Pattern