I have managed to create a state machine for my game core, like on turn start, on turn end, and another one. Now lets talk about effect/status. For generic effects such boosting stats for certain number of turns are easy to handle and I don't have any problem with, but I'm not sure how to handle other effects/status. Here are some examples that I don't know how to handle: A stun that would not allow you to play for a turn. Thorns that should reflect 20% of the damage to the opponent A battle ...