abstract contract RenderContractLockable is Ownable {
    address public renderContract;
    bool public isChangeRenderContractDisabled = false;

    // Irreversible.
    function disableChangeRenderContract() external onlyOwner {
        isChangeRenderContractDisabled = true;
    }

    // In case there's a bug, but eventually disabled
    function setRenderContract(address _renderContract) external onlyOwner {
        require(!isChangeRenderContractDisabled, "Disabled");
        renderContract = _renderContract;
    }
}
function setRenderContract(address _renderContract) external onlyOwner {
    require(!isChangeRenderContractDisabled, "Disabled");
    renderContract = _renderContract;
}

// In case there's a bug, but eventually disabled