An IButton is an interface to refer to any button type. A button may be a legacy button, a UIX button, a PhysicalButton (Component), TouchButton (Component), or any other item that is categorized as a button.
IButton unifies all these different types of buttons, and allows you to refer to all of them and read values that they all share, no matter what kind it is. For example, IsPressed, IsHovering, and touch point are some of the different values buttons share, to name a few.