Hookup reset flow (pt1) (bug 1003882) 

Just to add some context to this. Rather than continue with this branch (which is big already) I'm going to work on making this work alongside webpay separately so consider this part 1.

If anything is majorly wrong then I'll definitely fix it here. If not it'll happen in a follow up.