- Now the Observer pattern implementation uses raw pointers instead of smart shared ones.