Rename common generic variable for listener types
Make pools and handlers more generally usable
Refactor and improve pool and hook internal API