moving the sleep of the background thread at the beginning of the infinite loop rather than the end
once the UI updates its state based one deltas, the delta should be zeroed-out. This was quite a mistake.
the reference state sent by server is ignored in respect to the values that the user is tweaking. Avoids rubber banding.