SnapshotThread now Runnable instead of a Thread, to dodge an odd override problem...