Lots of cleanup and architecture improvements.  Now supports custom on-the-fly messages for push notifications.