Add the ability to add/remove hooks

Revamp specs to be broken out into specific areas
Line is too long. [145/130]