C++ header only library for scoped signalling