`Notification.new` is creating unnecessary garbage.  Given `Notification` is stateless, what do you think about re-using a singlet instance for all of these?

Also, if/when data is needed for some of these (but not others) I assume you'll probably start defining new types.  Given that, it might be better to use `NullNotification` (or something similar) as the class here to indicate that it's just a null placeholder and not a real notification.  `Notification` is less obvious in that regard.