Pressione o botão voltar, mas não mate a atividade e deixe-a em Back Stack (Android)

Tenho 3 atividades A, B e C.

Influo a atividade B dinamicamente com um clique no botão e o usuário pode adicionar quantas visualizações quise

A operação é assim:

@User vê a "Atividade A" primeiro digitar seus detalhes e clicar no botão Salvar e eu o levo para a "Atividade B", onde ele adiciona certos campos quantas vezes quiser e quando ele clica em Salvar novamente, eu o levo para a "Atividade C".

Agora, quando estou em A, vou para B e adiciono algumas visualizações, insiro texto em TextViews e, em seguida, pressione Salvar e vá para C. Em C, se eu voltar, vejo B intacto, juntamente com todas as visualizações infladas e o texto inserido, obviamente porque ele é salvo na pilha traseira, mas se eu for de B para A pressionando novamente e depois retornar para B, todas as visualizações desaparecerão porque foram removidas da pilha traseir

Queria saber se é possível armazenar apenas uma instância de B no BackStack e não matá-la quando o usuário revidar? Eu tinha substituído a chave de retorno, mas sem sucesso, porque a atividade é interrompida de qualquer maneira, algumas pessoas sugeriram que eu deveria salvar as visualizações e os dados inteiros em uma Parcelable ArrayList e regenerá-los novamente no onCreate, mas isso não parece viável para mim, como penso podemos salvá-lo no BackStack de qualquer maneira.

Encontrei este guia em desenvolvedores do Androidhttp: //developer.android.com/guide/topics/fundamentals/tasks-and-back-stack.htm que diz sobre esses atributos de atividade

android:taskAffinity
android:launchMode
android:allowTaskReparenting
android:clearTaskOnLaunch
android:alwaysRetainTaskState
android:finishOnTaskLaunch
android:singleTask
android:singleInstance

Mas não sei como usá-los.

Alguém já tentou isso? Nesse caso, por favor, ajude-me a juntar as peça