   /// 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
       }

      setNeedsLayout()
    }
  }
  /// Style of badge view. Defaults to AXBadgeViewNormal.
  open var style = Style.normal {
    didSet {

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