Added Observer pattern. Classical and with boost::signals2