feat(alert): allow alerts to be closed from a controller

Closes #2399
Closes #2854