public static function create($value, $purpose, DateTime $date)
    {
        return new self(
            sprintf(
                'The "%s" token with value "%s" is expired since "%s".',
                $purpose,
                $value,
                $date->format(DateTime::ISO8601)
            )
        );
    }