See http://pushover.sourceforge.net/