Since Protothread is an abstract class and one must derive from it and implement `Run`, it should have a virtual destructor.
Since Protothread is an abstract class and one must derive from it and implement
Run, it should have a virtual destructor.