si esatto un po' come la gestione in c# (java lo conosco un po' meno ma non credo/spero che sia molto diverso) ossia
la possibilità creare un evento sulla classe e che venga poi scatenato dal codice,
https://msdn.microsoft.com/it-it/librar ... t(v=vs.110).aspx (è un po' la guida che uso io)
la questione dei delegati (o puntatori a funzione) è difficile ma aiuterebbe a creare del codice generalizzato in modo che possano essere scatenati dei cambiamenti (es video o dati) in modo assolutamente anonimo senza conoscere il destinatario che reagisce in modo automatico appunto a un cambiamento.