getting this to compile

I thought about this and events and I think events and opportunities should implement an interface/derive from a class which will have a method that is invoked when the event is happening - each event will have it's own implementation which will have access to the game instance and will be able to alter the game state (e.g. allow buy a commodity on a given market) and a method for cleanup when the event becomes irrelevant (some events last for only one turn). As a side note - for illegal commodities we will need to know where they were bought to enforce selling commodities on the target market.