Repair null-statistic observers.

Needs a spot more testing (really going to put in those VMs now), but this seems to fix a problem that was causing #196.

For some strange reason, the code for refreshing the observer list was in the ping refresh thread instead of the usual UI update place. (It was also rather comprehensively broken).