Refactored VerificationService to be more general and don't require the server to send email with the token directly.