The `Actor` is invoking `updateReplicasMapping` of the outer object which itself is invoking the Actor using `ask` to get the resulting mapping. I think the inner Actor is an acceptable trace-off to asynchronously serialize the mapping update and quick lookup access of the cached mapping. 

I must admit that I don't really the resulting layout in `ZookeeperConsistencyPersistence`. This is a lot of code for implementing a single method out of four defined by the `ConsistencyPersistence` trait. Perhaps most of the logic can be defined in a trait mixed-in `ZookeeperConsistencyPersistence`