Status and progress feedback #38

* Implement protcol status updates
* Change progress and state to volatile, as these merely need polling and
  overhead can be avoided this way.