I think this should work, but is worth testing on Vanilla cordova..  if the event listeners are registered in the onDeviceReady handler, startup events may fire too early?

For example, if you have other plugins (like alarms?) delaying device ready via waitForInitialization then we may have an issue..  I think we actually want to fire startup events after device ready fires, and then wrap that inside a setTimeout to make sure all other deviceready handlers fired ;)  I think..