text: (function () {
    var ns = $.namespace("pskl.service");
  
    ns.SavedStatusService = function (piskelController, historyService) {
      this.piskelController = piskelController;
      this.historyService = historyService;
      this.lastSavedStateIndex = "";
  
      this.publishStatusUpdateEvent_ = this.publishStatusUpdateEvent_.bind(this);
    };
  
    ns.SavedStatusService.prototype.init = function () {
      $.subscribe(Events.TOOL_RELEASED, this.publishStatusUpdateEvent_);
      $.subscribe(Events.PISKEL_RESET, this.publishStatusUpdateEvent_);
      $.subscribe(Events.PISKEL_SAVED, this.onPiskelSaved.bind(this));
      this.lastSavedStateIndex = this.historyService.getCurrentStateId();
    };
  
    ns.SavedStatusService.prototype.onPiskelSaved = function () {
      this.lastSavedStateIndex = this.historyService.getCurrentStateId();
      this.publishStatusUpdateEvent_();
    };
  
    ns.SavedStatusService.prototype.publishStatusUpdateEvent_ = function () {
      $.publish(Events.PISKEL_SAVED_STATUS_UPDATE);
    };
  
    ns.SavedStatusService.prototype.isDirty = function () {
      return this.lastSavedStateIndex != this.historyService.getCurrentStateId();
    };
  })();
  