add game state manager class, game state abstract class and implement a
play test class