Initial notifier component addition

Rebase of #2567. See that page for instructions.

I still plan to review this, as David wrote all the code.