anchor.diff:      // Don't lock the pointer on a click.
       _gameLoop.pointerLock.lockOnClick = false;
       _bodyElement.classes.add('no-scroll');
  -
  +    
  +    // Prevent touch events to escape the canvas element so scrolling does not happen. 
  +    _onTouchStartSubscription = _canvasElement.onTouchStart.listen(_preventBubble);
  +    _onTouchEndSubscription = _canvasElement.onTouchEnd.listen(_preventBubble);
  +    
       _gameLoop.onUpdate = gameUpdate;
       _gameLoop.onRender = gameRender;
       _gameLoop.onTouchStart = gameTouchStart;
  
positive.code:   removed() {
      _gameLoop.keyboard.interceptor = null;
      _bodyElement.classes.remove('no-scroll');
      _gameLoop.stop();
    }
  
  
negative.code:   BodyElement _bodyElement;
    final Logger _gamePanelLogger = new Logger("GamePanel");
  
    StreamSubscription _onTouchStartSubscription;
    StreamSubscription _onTouchEndSubscription;
    
    _preventBubble(Event e) => e.preventDefault();
    
    @override
    inserted() {
      _pauseButton = query('#pause');
  