Making webhooks DRYer and quieter