Initial commit for notification support.

This puts the basic delegate in place along with an abstraction
for the concrete backend handling.