Gostaria de entender um pouco melhor a diferença entre o padrão Decorator e o Chain of Responsability. Pelo que entendi, ambos possuem um processamento em cadeia, mas o Chain of Responsability retorna um resultado assim que a condição é atendida, enquanto que o Decorator vai compondo a resposta até o final da cadeia. Está correto isso?