plotagem de barra ggplot com ordem de categorias dependente de faceta

Eu vi muitas perguntas (muitas vezes ligadas aOrdem Barras no gráfico de barras ggplot2) sobre como (re) encomendar categorias em um gráfico de barras.

O que eu estou procurando é apenas um toque diferente, mas eu não encontrei uma boa maneira de fazê-lo: Eu tenho um gráfico de barras multifacetado, e quero ordenar o eixo x para cada faceta independentemente, de acordo com outra variável ( no meu caso, essa variável é apenas o valor y em si, ou seja, eu só quero que as barras entrem em tamanho crescente em cada faceta).

Exemplo simples, seguindo, e.Ordem Barras no gráfico de barras ggplot2:

df <- data.frame(name=c('foo','bar','foo','bar'),period=c('old','old','recent','recent'),val=c(1.23,2.17,4.15,3.65))
p = ggplot(data = df, aes(x = reorder(name, val), y = val))
p = p + geom_bar(stat='identity')
p = p + facet_grid(~period)
p

O que recebemos é o seguinte:

Considerando que o que eu quero é:

questionAnswers(4)

yourAnswerToTheQuestion