- fix file hierarchy
- refactor game.snake-specific segment to be pointer rather than arraylist
- rethink overall design
- should the game.snake be separate from game.snake behavior
- should segment collision be handled externally?
- should segment be an interface or abstract class?