Changed observer sequence number a volatile member and put heartbeat into busy wait because of spurious thread wakeup.