Typed callbacks document their contract, making parent and child components agree on the callback signature.