Continued refactoring - signup page

Please note that this branch contains all of the earlier merged work on the other refactoring branch. If this branch is merged, then the other branch can be safely deleted.