void IConnectionObserver.update(object code)
        {
            if (code != null)
            {
                List <NamedParameter> dataList = (List <NamedParameter>)code;

                List <NamedParameter> m = DataTypes.findAll(dataList, DataType.serverMessage);
                if (m != null && m.Count > 0)
                {
                    Messages.GameMessages msg = (Messages.GameMessages)m[0].data;
                    switch (msg)
                    {
                    case Messages.GameMessages.UpdateMatch:
                        updateData(dataList);
                        break;

                    case Messages.GameMessages.UpdateAll:
                        updateData(dataList);
                        break;

                    case Messages.GameMessages.GetSOM:
                        List <NamedParameter> somRequest = DataTypes.findAll(dataList, DataType.SoMRequest);
                        SOM selected = myView.selectSoM((somRequest[0].data as SoMRequest).Allowed, (somRequest[0].data as SoMRequest).Result);
                        MessageSentFromView(MatchViewMessage.SoM, new List <object>()
                        {
                            selected
                        }, this);
                        break;

                    case Messages.GameMessages.GameOver:
                        //Determine who won
                        bool won = Match.Turn == 0 ? player.Equals(Match.Player1) : player.Equals(Match.Player2);
                        myView.gameOver(won);
                        break;
                    } //End Switch
                }     //End MEssage if
            }         //End Code if
        }