Sync at most once per second.
Attempt to reconnect if we lose our state socket while playing.
Track playing state locally for faster play/pause recovery.
Only wait 1 second between updates, even if there are no new events.
Short delay when a riff is loaded, long the rest of the time (i.e. most of the time)