Push notification registration support

NB: not ready to be merged - it's not 100% there yet - and hasn't been tested yet.

Just collecting early feedback.