public void updateModel()
	{
		//We don't allow reverse moves for the snake
		boolean lateral = (lastDir == Direction.RIGHT && direction == Direction.LEFT)
				|| (direction == Direction.RIGHT && lastDir == Direction.LEFT) ;
		boolean vertical = (lastDir == Direction.UP && direction == Direction.DOWN)
				|| (direction == Direction.UP && lastDir == Direction.DOWN) ;

		if	(!gameOver)
		{
			moveSnake(lateral, vertical);	
			handleCollision();
		}
		else if(restart)
		{
			restart();
		}
		else
		{
			bestScoreManager.update(score);	
		}
	}