C++ Reactive Programming : Design concurrent and asynchronous applications using the RxCpp library and Modern C++17