class LienzoPanelMediators {

    public LienzoPanelMediators init(final Supplier<LienzoCanvas> canvas) {
        CanvasPanel panel = canvas.get().getView().getPanel();
        if (panel instanceof LienzoPanel) {
            focusHandler = new LienzoPanelFocusHandler()
                    .listen((LienzoPanel) canvas.get().getView().getPanel(),
                            this::enable,
                            this::disable);
            mediators.init(canvas);
            selector.init(canvas);
            setZoomFactor(ZOOM_FACTOR);
            setMinScale(MIN_SCALE);
            setMaxScale(MAX_SCALE);
            enable();
        }
        return this;
    }

    @Inject public  LienzoPanelMediators(final LienzoCanvasMediators mediators,
                                final ZoomLevelSelectorPresenter selector);

}