A bunch of cross-platform fixes; push notification support for OS X
Don't use methods unless supported