addDrawerOption(urlQueryName, title="Select drawer:", defaultDrawerImplementation="canvas") {
        const drawer = this.url.searchParams.get(urlQueryName) || defaultDrawerImplementation;
        if (!this.drawers[drawer]) throw "Unsupported drawer implementation: " + drawer;

        let context = this._data[urlQueryName] = {
            query: urlQueryName,
            implementation: drawer,
            title: title
        };
    }
Ability to switch between different drawers.
Usage: with two viewers, we would do

const switcher = new DrawerSwitcher();
switcher.addDrawerOption("drawer_left", "Select drawer for the left viewer", "canvas");
switcher.addDrawerOption("drawer_right", "Select drawer for the right viewer", "webgl");
const viewer1 = window.viewer1 = new OpenSeadragon({
    id: 'openseadragon',
    ...
    drawer:switcher.activeImplementation("drawer_left"),
});
$("#my-title-for-left-drawer").html(`Viewer using drawer ${switcher.activeName("drawer_left")}`);
$("#container").html(switcher.render());
// OR switcher.render("#container")
// ..do the same for the second viewer