Python decoradores dinâmicos - por que tantos envoltório

Então, eu ainda sou um pouco novo para os decoradores de Python - eu os usei antes, mas nunca fiz o meu próprio. Eu estou lendoeste tutorial (parágrafo específico) e eu não entendo por que precisamos de três níveis de funções? Por que não podemos fazer algo assim:

def decorator(func, *args, **kwargs):
    return func(*args,**kwargs)

Obrigado :