Is this is response to Alex's comment about having to pass messages up to GameScript?
I'd prefer if you explicitly called GameScript::HandleMessage() just before this switch. That way, if the GameScript subscribed to more message types, it would still work.