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;
 });