NOTE: This class just copies the design pattern already used throughout the code base for implementing threads, but puts it into a class and allows the ReceivedPacketProcessor and PacketSender classes/implementations to be more DRY. I realize that there are classes like QThread which may make sense for us to migrate to. But that effort would be more extensive.