I find the hook methods (`hook` and `addHook`) a bit confusing for newcomers. How about renaming the `addHook` to `onHook` (keeping BC) to make it more intuitive? IMHO this would improve the DX. If agreed with the change you can assign me to that issue.