Create an alert dispatcher with cancellation

Move monitor.STATE into monitor.states.STATE and then we can import it from both locations.