refactor: put SignupPage handler in separate module