I pretty much know that those concepts are used to call a function in another widget or to notify parent that a value changed. I try to understand which one to use depending