Webhook refactor (WIP)

TODO:

- [ ] finish refactoring tests
- [ ] add tests for `webhook.JSON` (formerly `dockerBuild`)