code: function createTile(coords, done) {
      let key = this._tileCoordsToKey(coords);
      
      let tileContainer = L.DomUtil.create("div");
      tileContainer.dataset.pending = this._imagesPerTile;
      
      for ( let i = 0; i < this._imagesPerTile; i++ ) {
        let key2 = key + "/" + i;
        if ( key2 in this._freshTiles ) {
          tileContainer.appendChild(this._freshTiles[ key2 ].pop());
          if ( !this._freshTiles[ key2 ].length ) {
            delete this._freshTiles[ key2 ];
          }
          tileContainer.dataset.pending--;
          // 				console.log('Got ', key2, ' from _freshTiles');
        } else {
          this._tileCallbacks[ key2 ] = this._tileCallbacks[ key2 ] || [];
          this._tileCallbacks[ key2 ].push(
            (function(c /* , k2*/) {
              return function(imgNode) {
                let parent = imgNode.parentNode;
                if ( parent ) {
                  parent.removeChild(imgNode);
                  parent.removeChild = L.Util.falseFn;
                  // 							imgNode.parentNode.replaceChild(L.DomUtil.create('img'), imgNode);
                }
                c.appendChild(imgNode);
                c.dataset.pending--;
                if ( !parseInt(c.dataset.pending) ) {
                  done();
                }
                // 						console.log('Sent ', k2, ' to _tileCallbacks, still ', c.dataset.pending, ' images to go');
              };
            })(tileContainer /* , key2*/)
          );
        }
      }
      
      if ( !parseInt(tileContainer.dataset.pending) ) {
        L.Util.requestAnimFrame(done);
      }
      return tileContainer;
    }
docs: This will be used as this.createTile for 'hybrid'