rxjava observables and scala futures
It could be the case that using Scala.Rx's reactive variables simplify your use case since they propagate change state as they happen. In particular, chaining those smart Var's together might help you simplify the task. Please have a look at: 

https://github.com/lihaoyi/scala.rx 

There you also find a link to the underlying publication that elaborates on the concept further.