Possible CaveAts

All boost::signal objects that can be called cross-modules MUST be initialized from the owning module before any other module calls them. To initialize the signal, simply fire it; this initializes some static data inside boost::signal object.