Hooks service

Consider writing some unit tests for this service.