Use boost::signals2