protected internal IEnumerable <StoryEvent> MakeOutcomes(bool buying) { yield return(good.MakeOutcome(buying)); yield return(cost.MakeOutcome(!buying)); yield return(new TradeMadeEvent(this)); }