         badgeContainer.isHidden = badge.isHidden
     }
     
+    /// Update the button for a new selection state.
+    ///
+    /// - Parameter selectionState: Selection state.
     open func update(for selectionState: SelectionState) {
         let minimumAlpha: CGFloat = 0.5
         let alpha = minimumAlpha + (selectionState.rawValue * minimumAlpha)

    
    // MARK: Lifecycle
    
    open func layout(in view: UIView) {
    }
    

        updateBadgeVisibility(false, animated: false)
    }
    
    /// Populate the button with a bar item.
    ///
    /// - Parameter item: Item to populate.
    open func populate(for item: TMBarItemable) {
        let showBadge = item.badgeValue != nil
        badge.value = item.badgeValue
