Publisher-Subscriber (Observer) functionality for your classes