Essa prática de programação é ruim no tkinter?

Estou aprendendo a escrever programas orientados a eventos usando tkinter e usando o excelente tutorial de Fredrik Lundh. Nisso, ele menciona que é melhor definir uma classe (App) para o quadro e executar o programa como uma instância da classe, em vez de apenas iniciá-lo assim:

root = Tk()
w = Label(root, text = 'hello, world!')
w.pack()
root.mainloop()

Tenho 3 perguntas:

É uma prática ruim de programação fazê-lo dessa maneira mais simples?

Se eu definir uma classe, com funções de retorno de chamada vinculadas aos widgets, todas as funções deverão estar dentro da própria classe? ou seja, posso ter um botão que dizir dentro da classe, que quando clico executa uma rotina elaborada que é definida fora da classe?

É uma prática ruim levar o resultado gerado fora da classe e exibi-lo dentro?

Basicamente, eu posso fazer o programa funcionar pulando dentro e fora da classe, mas não tenho certeza se é uma má prática fazê-lo (a la variáveis globais).

questionAnswers(3)

yourAnswerToTheQuestion