Multithreading

It uses features from the concurrent package, but provides functionality well beyond what the concurrent package offers.