Wrong observer list used when implementing Subject twice with Observer pattern I have implemented a simple Observer pattern in c++ like this: