Main work is maintaining context during various redirects and and passing the context to the final upgrade process.