protected override void Execute(ViewItem msg) => gameState.UpdateState(x => x.ViewedItems.Add(msg.Item));
protected override void Execute(ThoughtGained msg) => gameState.UpdateState(x => x.Thoughts.Add(msg.Thought));
protected override void Execute(GainDialogueMemory msg) => gameState.UpdateState(x => { x.ViewedItems.Add(msg.Dialogue); x.Memories[msg.Dialogue] = msg.Location; });