Use boost::signals2; fix bugs with x-thread signalling.