Provide a central interface for sending notifications
Applications/components need a central interface for notifying users of events.
The main mode of notification will be email, but there will almost certainly be others (e.g. desktop push).
The notifications should be sent asynchronously (via a queue), with retries on failure.