Currently, false is used as the value to indicate that a hook hasn't been set.
This can and will cause conflicts with user-defined hooks that use false as a return value for their particular use case.
This is an API breaking change so it should be included in the next major release.
Ref: #44