Btw, a component interface is a "contract" with the parent component or a "contract" with the component's content?
For example, we might need to specify in a component some callbacks (we have an example above), sometimes we want to specify some variables and methods to be called by content.
Should we define these two "obligations" or "contracts" in the same component, or for the content (UI) part we can move it to some other classes?