Olá. Estou com uma dúvida neste trecho do código:
protected override void OnAppearing()
{
    base.OnAppearing();
    MessagingCenter.Subscribe<object>(this, "SomaCalculada",
        (msg) =>
        {
            DisplayAlert("Soma", 
            string.Format("O resultado da soma é: {0}", msg), "Ok");
        });
}
Se o tipo da mensagem enviada é um decimal, porque estamos recebendo um object? Inclusive, na hora de usar o send, do método da CalculadoraViewModel, estamos enviando um decimal, como podemos ver no código abaixo:
public class CalculadoraViewModel
{
    public void CalculaSoma(decimal parcela1, decimal parcela2)
    {
        decimal soma = parcela1 + parcela2;
        MessagingCenter.Send<object>(soma, "SomaCalculada");
    }
}