What is the actual reason for using boost:signals for few functions?
Signals in OO is a powerful concept that allows binding instances together on runtime.

The signals concept allows to keep code modular and bind multiple instances on one signal emitter.

Just calling a function can work (for the 1-to-n you would at least need another vector of instances, etc.), but would reduce the flexibility and modularity of the code.