So as a game logic, I would like to make classes like Game - game controller + game info, Player - player controller + player info, but I don't really like my first and only idea of making the card abilities. It's basically saving the abilities as functions(in database as strings!), which are then run by the Game class somehow(using eval?/making them real functions and saving them to some array and then running them every time something happens?). It has to be really really dynamic and flexible, because new cards are being produced and so new abilities are. What are your thoughts of structure in this type of game? What is the cleanest way to make game logic of this game? How would you implement this?