giving the game a MVCS design pattern