As above, make this provider agnostic. In fact, we should probably make it protocol specific (IMAP, SMTP, etc)