fix #3893, switch to Boost.Signals2