Optional email format validation
By reading some more code I’ve just seen another thing that could be optimized. In the email model you’re checking the address format. There are good reasons to give the user the freedom to disable the format validation. The rfc of email addresses with all its errata documents makes it slightly difficult to pass every valid email address.
Depending on where your plugin is used, it must be guaranteed that every valid email is accepted.
There are good replies in the stackoverflow thread Using a regular expression to validate an email address.