Poderão existir situações onde você vai precisar criar várias instâncias de um Módulo, por exemplo:

Se usarmos um objeto simples para declarar o estado do Módulo, esse objeto de estado será compartilhado por referência e causará poluição entre estados da Store/Module quando ele sofrer uma mutação.

Este é exatamente o mesmo problema com os dados dentro dos componentes do Vue. Portanto, a solução também é a mesma - use uma função para declarar o estado do Módulo:

const tarefasModule = {
  state () {
    return {
      erro: undefined,
      tarefas: [],
      tarefaSelecionada: undefined
    }
  },
  // mutations, actions, getters...
}

Referência: https://vuex.vuejs.org/guide/modules.html#module-reuse