public static function create(
        $key,
        $ttl = 1440,
        $algo = 'SHA512',
        $middlewareClass = Middleware::class
    ) {
        return new self(new TokenService($key, $ttl, $algo), $middlewareClass);
    }