Command, Singleton and Observer patterns updated