O padrão de design do decorador

Estou apenas começando a aprender padrões de design e tenho duas perguntas relacionadas ao Decorator ...

Fiquei me perguntando por que o padrão decorador sugere que o decorador implemente todos os métodos públicos do componente do qual decora?

A classe decoradora não pode ser usada apenas para fornecer comportamentos adicionais e, em seguida, o componente concreto (que é passado para ela) apenas ser usado para chamar todo o resto?

E segundo, e se o componente concreto que você deseja decorar não tiver uma classe base da qual o decorador abstrato também possa derivar?

Desde já, obrigado!