generalize notifications a bit
Add a parameter to the notification machinery which we can use to
select what sort of message to send. This means that the current
notify states need to be renamed so that we don't get confused
when we add different sets of notifying states later.