public function setEmail($email = '')
    {
        $email = (string)$email;

        // According to the docs, emails should be lowercase: https://en.gravatar.com/site/implement/hash/
        $email = trim($email);
        $email = strtolower($email);

        if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
            throw new \InvalidArgumentException('Email should be a valid email address');
        }

        $this->email = md5($email);

        return $this;
    }