This commit also re-arrange and refactor some code in the updates page to make it more readable.
I'm not really sure this still works correctly so any help testing that would be appreciated :)
@ngraham @apol