If we don't want to manage this library as an application with a startup & shutdown, maybe we need to ask the consumer to pass a reference the their application's thread pool?