Add the ability to add/remove hooks

Revamp specs to be broken out into specific areas
Use `next` to skip iteration.