showBackgroundCrestForFactionId(factionId) {
    if (this._crestNodesByFactionId == null) {
      this._crestNodesByFactionId = {};
    }

    if (this._crestNode == null || this._crestNode._factionId !== factionId) {
      // animate current out
      if (this._crestNode != null) {
        this._crestNode.fadeToInvisible(CONFIG.ANIMATE_FAST_DURATION);
        this._crestNode = null;
      }

      // show new
      if (factionId != null) {
        this._crestNode = this._crestNodesByFactionId[factionId];

        if (this._crestNode == null) {
          this._crestNode = new BaseSprite();
          this._crestNode.setRequiredTextureResource(SDK.FactionFactory.getCrestResourceForFactionId(factionId));
          const winCenterPosition = UtilsEngine.getGSIWinCenterPosition();
          this._crestNode.setPosition(winCenterPosition.x, winCenterPosition.y + 150);
          this._crestNode.setScale(0.75);
          this._crestNode._factionId = factionId;
          this._crestNodesByFactionId[factionId] = this._crestNode;
          this.getFXLayer().addChild(this._crestNode);
        }

        this._crestNode.setOpacity(0);
        this._crestNode.fadeTo(CONFIG.ANIMATE_FAST_DURATION, 100);
      }
    }
  }
Shows a background crest by faction id, or clears current if none provided.
@param {String} [factionId=null]