All the code the would go into making a Choose Your Own Adventure game. Features can be always on, or enable/disabled. Implement keeping in mind that many classes will be inherited.