Singleton and Observer pattern finished