Manage worker threads with an easy to use abstraction. We can expand this to support thread deletion in the future.