What @wilsonpage says sounds perfect.

For sending out battery notifications, you'll either want to listen for the change:batteryStatus events (which seems a little silly) or you'll need to remember what the last known state was so that you only display a notification if the level actually changes.