Cleaned up generics
Added a work queue bound on the batchers and new api methods to allow the users control how producers will be able to handle a full queue.