Add synchronized hooks
Unregister all listeners before resource unregistration
Remove some TODOs
Refactor internal hook, fix some issues
Remove unused code
Fix internal hook construction
Correct pool factory name
Introduce hook factory
Fix synchronized hook accessor name
Implement internal selection hook with factory