The ulttiny library is small, easy to use and very fast. It's optimized especially for scenarios where tasks and task groups are dynamically and concurrently created on the fly.
A small cooperative task framework for calling task fns asynchronously
For async calling of process functions (fns) this very-tiny-task subsystem may safe some efford for you. Could be used for running systems e.g.for a process with sub processes or as a base of a small (sub) system with multiple tasks and/or state machines.
Source code in C. Should work in C++ as well.