// Learns a new spell
        public void Update(SpellUpgradeSuccessMessage message)
        {
            Spell newSpell = new Spell(message);
            Spell known    = m_spells.FirstOrDefault(spell => spell.Template.id == newSpell.Template.id);

            if (known != null)
            {
                m_spells[m_spells.IndexOf(known)] = newSpell;
            }
            else
            {
                m_spells.Add(newSpell);
            }
        }