title: Synchronous (or Future-returning) call to Akka UntypedPersistentActor?
body: <p>I would like to inform callers of the successful application of state-changing commands sent to my object, which extends UntypedPersistentActor.</p>
  
  <p>If I weren't persisting the state-changes, I'd return a Future with a closure affecting the change, and let the caller Await that.</p>
  
  <p>Akka's "persist()" call forces me to pass in a closure that will be executed asynchronously though, if I understand correctly. If I return a Future that itself invokes persist(), I'm only telling the caller that I've successfully queued the change for later application... not that it has been applied, or even that its application will succeed.</p>
  
  <p>I suppose that the guaranteed ordering with respect to one caller <em>kinda</em> satisfies the need to know when the change has been applied, but what if the change fails? If the callee is restarted because of the failure, the caller's message will be dropped, the state change will never happen, and the caller will be unaware. It seems like it would be cleaner to return the error to the caller and surface it there.</p>
  
  <p>Is there a good way to achieve this?</p>