class WiresCanvas extends LienzoCanvas<WiresCanvasView> {

    @Override
    public AbstractCanvas<WiresCanvasView> initialize(final CanvasPanel panel,
                                                      final CanvasSettings settings) {
        super.initialize(panel, settings);
        final WiresLayer layer = getView().getLayer();
        wiresManager = wiresManagerFactory.newWiresManager(layer.getLienzoLayer());
        wiresManager.setSpliceEnabled(false);
        // Set the default NONE acceptors for wires capabilities.
        // Each of these ones is being handled by each of the canvas controls associated
        wiresManager.setLocationAcceptor(ILocationAcceptor.NONE);
        wiresManager.setContainmentAcceptor(IContainmentAcceptor.NONE);
        wiresManager.setDockingAcceptor(IDockingAcceptor.NONE);
        wiresManager.setConnectionAcceptor(IConnectionAcceptor.NONE);
        wiresManager.setControlPointsAcceptor(IControlPointsAcceptor.NONE);
        view.use(wiresManager);
        return this;
    }

    @Inject public  WiresCanvas(final Event<CanvasClearEvent> canvasClearEvent,
                       final Event<CanvasShapeAddedEvent> canvasShapeAddedEvent,
                       final Event<CanvasShapeRemovedEvent> canvasShapeRemovedEvent,
                       final Event<CanvasDrawnEvent> canvasDrawnEvent,
                       final Event<CanvasFocusedEvent> canvasFocusedEvent,
                       final @Default WiresManagerFactory wiresManagerFactory,
                       final WiresCanvasView view);

}