C++ reactive programming