It's a little icky to be taking over global state (NSUserNotificationCenter's delegate) like this, but until we have evidence that it gets in someone's way it's the pragmatic thing to do.
This will allow us to have Mac-specific member variables without a bunch of ifdefs.