Overhauling user sign-up flow

Resolving the second item in #621