This way we're able to put the features and the upgrade process together, but benefit from all the error handling that's already in the login & reg pages without a complete rewrite.
This is not proposed as the final solution, but a mid-way point to allow us to test.
Still needs some work to get the syncing working. Got a feeling I might have to delete the code, re-plan and do it again (because there's a number of different ways it can happen).