after wrapping my head for a few days around my first issue, I updated the documentation and tests to reflect compatibility and usage of async factory function.
also simplified the api to be:
pool.size (setter extends or trims, getter returns size)
pool.empty()
became pool.size = 0
and 3 modelled after http methods naming convention
pool.next()
became pool.get()
pool.back()
became pool.put()
pool.remove()
became pool.delete()
the events have been renamed in the same manner, the readme reflects those changes.