* Add a custom task scheduler
* Better usage, don't wait to enqueue to save to channels
* Completely pre-cal batch size to avoid spinning issues
* Try to fix cache counting
* properly dispose things
* format
* clean up
* adjust count and save on current thread
* move batch it's own file
* update a few packages
* fix build and add batch tests
* add list pool creation
* add back base cache for closures
* use bounded channels and tell them to wait
* format and add exception
* adding back json cache?
* nevermind
* format
* add option to skip total finding
* add some comments