Blocking calls: timeout
Every blocking call as listed in #1 must be able to return after a timeout. For a blocking call like waitFor, periodical tests must be provided.
Zeromq reliability: http://zguide.zeromq.org/php:chapter4
Failure example: remote app starts but a network failure happens before the setResult. The change of state is ok but not the starter which blocks on getResult in the recv call.