Refactored login dialog to use presenter-first.