Given your note on having multiple types of notifications we may actually want to formally include the possibility of any number of notification broadcast types.
Given one type of notification type input it's easy for an extension to simply come up with it's own preferences checkboxes. But given a number of possible notification types and a number of possible ways of being notified we may actually want to build this using some sort of specialized grid of preferences. One where say the horizontal axis is the types of output email, iOS/Android app push, XMPP, and other plugins and the vertical access is the types of notifications you may receive.
Something like that will probably be a huge mess to create unless we formally include the notion of any number of notification source types and any number of possible notification outputs.