improve local notification performance

each view maintains a list of message handlers so that we don't need to
iterate over all possible receivers when specifying a receiver in a
broadcast call.