This is cool approach but one thing that i forgot to mention early (sorry), that client in the case of dead server must automaticaly switch to the '0' state. Only one way to do this is to remember time of the last dialog with the server and if it's more than for example 2 min, go to '0' state.