         let isEditingTextView = currentTextAnnotationView?.textView.isFirstResponder ?? false
         currentAnnotationView = isEditingTextView ? currentAnnotationView : nil
         
-        if let delegate = delegate {
-            guard let image = imageView.image else { assertionFailure(); return }
-            delegate.editorDidMakeChanges(self, to: image)
-        }
+        informDelegateOfChange()
     }
     
     @objc private func toolChanged(_ segmentedControl: UISegmentedControl) {

        let removeAnnotationView = {
            self.endEditingTextView()
            annotationView.removeFromSuperview()
        }
        
        if animated {

        if let selectedAnnotationView = selectedAnnotationView {
            deleteAnnotationView(selectedAnnotationView, animated: true)
        }
    }
    
    private func informDelegateOfChange() {
        guard let delegate = delegate else { return }
        guard let image = imageView.image else { assertionFailure(); return }
        
        delegate.editorDidMakeChanges(self, to: image)
    }
    
    // MARK: - UIGestureRecognizerDelegate
