boost::signals are now used for thread communication