Events let one system announce something without knowing every listener.

using System;

public event Action<int> OnHealthChanged;

Invoke:

OnHealthChanged?.Invoke(health);

Subscribe:

void OnEnable()
{
    playerHealth.OnHealthChanged += UpdateUI;
}

void OnDisable()
{
    playerHealth.OnHealthChanged -= UpdateUI;
}

This keeps PlayerHealth independent from HUD, audio and effects.