Luz MVVM: Passe o objeto da vista para o viewmodel

Recentemente, comecei a trabalhar com o WPF usando a luz do MVVM e tenho o seguinte (cenário simples).

MainWindow contém uma caixa de listagem de elementos.

Quando um é selecionado e o botão é clicado, eu disparo um comando:

ReservoirViewerCommand.Execute(null);

Na classe viewmodel eu instancio o comando e envio uma mensagem com o objeto selecionado:

ReservoirViewerCommand = new RelayCommand(OpenReservoir);
private void OpenReservoir()
{
    Messenger.Default.Send(new LaunchShowReservoirMessage(){Reservoir=SelectedReservoir});          
}

Onde:

class LaunchShowReservoirMessage:MessageBase
{
    public Reservoir Reservoir { get; set; }
}

O mainview registra a mensagem e abre uma nova janela filho:

private void RegisterMessages() 
{
    Messenger.Default.Register<LaunchShowReservoirMessage>(this,OnLaunchShowReservoir);
}

public void OnLaunchShowReservoir(LaunchShowReservoirMessage msg) {
    var showReservoir = new ReservoirViewerView();
    showReservoir.Show(); 
}

O que eu preciso é que o novo ViewModel (ReservoirViewerViewModel) possa de alguma forma se apossar do objeto passado através da mensagem para que eu possa exibir os detalhes desse objeto na janela filho.

Fiz algumas depurações passo-a-passo e o construtor ViewModel parece nunca ser alcançado.

questionAnswers(2)

yourAnswerToTheQuestion