     }
     
     set {
+      if self is BadgeView {
+        fatalError("The badge view of 'BadgeView' itself is not accessible.")
+      }
+      
       objc_setAssociatedObject(
         self,
         &_AssociatedKeys.badge,

  public override func layoutSubviews() {
    super.layoutSubviews()
    
    layer.mask = masking._layer(for: bounds)
  }
  /// - override: willMoveToSuperview
  override open func willMove(

  /// Returns the badge view of the receiver.
  public var badge: BadgeView {
    get {
      if self is BadgeView {
        fatalError("The badge view of 'BadgeView' itself is not accessible.")
      }
      
      if let badge = objc_getAssociatedObject(self, &_AssociatedKeys.badge) as? BadgeView {
        return badge
      }
