docs: function _start() {
      var now = Date.now();
      var config = this._config;
  
      var missing = !config ? required : required.filter(function(key) {
        return config[key] === undefined;
      });
  
      if (missing.length) {
        throw TypeError('Missing config properties: ' + missing.join(', '));
      }
  
      if (this._started) {
        throw Error('Ticker already started');
      }
  
      this._started = now;
      this._before = now - config.delay;
  
      this._tick();
  
      return this;
    }