We currently use simple spin functions to interact with waitsets and any waitable entities (subscriptions, clients, services, etc.), porting the executor API would help us implement more waitable entities (e.g. timers) and support running more than one node in a single program.