docs: function() {
          // Important to configure later to not use UTC.
          later.date.localTime();
  
          // Shutdown on schedule.
          if (this.get('shutdownSchedule')) {
              this._shutdownSchedule = later.parse.cron(this.get('shutdownSchedule'));
              if (this._shutdownInterval) {
                  this._shutdownInterval.clear();
              }
  
              this._shutdownInterval = later.setInterval(_.bind(function() {
                  logger.info('App shutdown time has arrived. ' + new Date());
                  this.set('restartCount', 0);
                  this.shutdownApp();
              }, this), this._shutdownSchedule);
          }
  
          // Shutdown on schedule.
          if (this.get('shutdownPcSchedule')) {
              this._shutdownPcSchedule = later.parse.cron(this.get('shutdownPcSchedule'));
              if (this._shutdownPcInterval) {
                  this._shutdownPcInterval.clear();
              }
  
              this._shutdownPcInterval = later.setInterval(_.bind(function() {
                  logger.info('Machine shutdown time has arrived. ' + new Date());
                  this.set('restartCount', 0);
                  this.shutdownMachine();
              }, this), this._shutdownPcSchedule);
          }
  
          // Start up on schedule.
          if (this.get('startupSchedule')) {
              this._startupSchedule = later.parse.cron(this.get('startupSchedule'));
              if (this._startupInterval) {
                  this._startupInterval.clear();
              }
  
              this._startupInterval = later.setInterval(_.bind(function() {
                  logger.info('App startup time has arrived. ' + new Date());
                  if (!$$serverState.get('runApp')) {
                      logger.info('Startup disabled by console.');
                      return;
                  }
  
                  this.set('restartCount', 0);
                  this.startApp();
              }, this), this._startupSchedule);
          }
  
          // Start up on schedule.
          if (this.get('restartSchedule')) {
              this._restartSchedule = later.parse.cron(this.get('restartSchedule'));
              if (this._restartInterval) {
                  this._restartInterval.clear();
              }
  
              this._restartInterval = later.setInterval(_.bind(function() {
                  if (this._isStartingUp || this._isShuttingDown) {
                      return;
                  }
  
                  logger.info('App restart time has arrived. ' + new Date());
                  if (!$$serverState.get('runApp')) {
                      logger.info('Startup disabled by console.');
                      return;
                  }
  
                  this.set('restartCount', 0);
                  this.restartApp();
              }, this), this._restartSchedule);
          }
  
          // Restart machine on schedule.
          if (this.get('restartPcSchedule')) {
              this._restartPcSchedule = later.parse.cron(this.get('restartPcSchedule'));
              if (this._restartPcInterval) {
                  this._restartPcInterval.clear();
              }
  
              this._restartPcInterval = later.setInterval(_.bind(function() {
                  logger.info('Machine restart time has arrived. ' + new Date());
  
                  this.restartMachine();
  
              }, this), this._restartPcSchedule);
          }
  
      }