Use new view registry API

This fixes some new deprecation warnings. Also gave NotificationElement an `::initialize` method so you can instantiate one with a model in a single line.
Whereas the old one had an implied requirement that the class had a ::setModel method.