anchor.diff:      });
     }
   
  +  void _upgradeSwitch() {
  +    new JsObject(context['MaterialSwitch'], [querySelector(".mdl-switch")]);
  +  }
  +
     @override
     void onInitSuccess() {
       updatePushPermissionSwitch();
  
positive.code: 
    @override
    void onPushMessagePermissionDeniedError(_) {
      subsPermissionDeniedEl.style.display = "block";
    }
  
    @override
    void onPushMessageSubscription(PushSubscription subscription) {
      print(_generateCurlCommand(subscription.endpoint));
    }
  
    @override
    onPushMessageSubscribe(PushSubscription subscription) async {
      subsPermissionDeniedEl.style.display = "none";
      // TODO: fix - never override user's click by previous action (ted se stane, ze clovek zaklikne "byt v obraze", pak znovu, pak jeste jednou a ten treti zaklik se mu vrati kvuli tomu druhemu...)
      var subFirebaseRec = _subscriptionSet.child(subscription.subscriptionId);
      var snapshot = await subFirebaseRec.once("value");
      if (!snapshot.exists) {
  
negative.code:     pushPermissionSwitch.onChange.listen((handlePushPermissionSwitchClick));
  
      _startFirebaseListeners();
      _upgradeSwitch();
    }
  
    @override
    void onInitFailure(Error e) {
      _showElement(querySelector("#unimplemented-error"));
      print("Service Worker failed to initialize.");
      print(e);
  
      _startFirebaseListeners();
      _upgradeSwitch();
    }
  
    @override
  