¿Cómo dividir y distribuir un flujo de control asíncrono usando Continuaciones?

Tengo un flujo de control asíncrono como el siguiente:

ActorA ! DoA(dataA, callback1, callbackOnErrorA)

def callback1() = {
  ...
  ActorB ! DoB(dataB, callback2, callbackOnErrorB)
}

def callback2() = {
  ActorC ! DoC(dataC, callback3, callbackOnErrorC)
} 

...

¿Cómo dividiría este flujo en varias partes (continuaciones) y los enviaría secuencialmente a diferentes actores (o hilos / tareas) mientras mantengo el estado general?

Cualquier pista apreciada, gracias

Respuestas a la pregunta(3)

Su respuesta a la pregunta