Implement modular notification channels

NOT READY TO MERGE

* Webhook
* SMS
* Email