Create a Publisher interface. Refactor webhook publisher to satisfy that interface. Add some limited retries to webhook publisher.
Kubewatcher watches the Kubernetes API for Watches that have been configured on the fission controller. It then posts that event to the function configured in the watch.