MVVM light: pasa el objeto de la vista al modelo de vista

Recientemente comencé a trabajar con WPF utilizando MVVM light y tengo lo siguiente (escenario simple).

MainWindow contiene un cuadro de lista de elementos.

Cuando se selecciona uno y se hace clic en el botón, disparo un comando:

ReservoirViewerCommand.Execute(null);

En la clase de viewmodel, instalo el comando y envío un mensaje con el objeto seleccionado:

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

dónde:

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

La vista principal registra el mensaje y abre una nueva ventana secundaria:

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

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

Lo que necesito es que el nuevo ViewModel (ReservoirViewerViewModel) de alguna manera pueda hacerse con el objeto pasado a través del mensaje para que luego pueda mostrar los detalles de este objeto en la ventana secundaria.

Hice un poco de depuración paso a paso y el constructor ViewModel parece nunca ser alcanzado.

Respuestas a la pregunta(2)

Su respuesta a la pregunta