         get { return drawingView.intrinsicContentSize }
     }
 
+    internal var renderer: NodeRenderer? {
+        get { return drawingView.renderer }
+        set { drawingView.renderer = newValue }
+    }
+
     #if os(OSX)
     open override var layer: CALayer? {
         didSet {

        self.addGestureRecognizer(pinchRecognizer)
    }

    open override func touchesBegan(_ touches: Set<MTouch>, with event: MEvent?) {
        super.touchesBegan(touches, with: event)
        zoom.touchesBegan(touches)

        drawingView.touchesBegan(touchPoints: convert(touches: touches))
    }

    open override func touchesMoved(_ touches: Set<MTouch>, with event: MEvent?) {
        super.touchesMoved(touches, with: event)
        zoom.touchesMoved(touches)

        drawingView.touchesMoved(touchPoints: convert(touches: touches))
    }

    open override func touchesEnded(_ touches: Set<MTouch>, with event: MEvent?) {
        super.touchesEnded(touches, with: event)
        zoom.touchesEnded(touches)

        drawingView.touchesEnded(touchPoints: convert(touches: touches))
    }

    override open func touchesCancelled(_ touches: Set<MTouch>, with event: MEvent?) {
        super.touchesEnded(touches, with: event)
        zoom.touchesEnded(touches)

        drawingView.touchesEnded(touchPoints: convert(touches: touches))

        }
    }

    open override func didMoveToSuperview() {
        super.didMoveToSuperview()

        initializeView()
    }
