I'm not convinced you need a controller for notifications.

What if you had a single notification view that created elements to display a single notification and had methods for setting the transient and persistent contents of that single notification.  It would not be created and destroyed, just shown and hidden as needed.

Then the settings controller could call methods of the notification view to show transient notifications

And the battery controller could call methods of the notification view to show transient or persistent notifications.  No new controller needed, and no new events needed.