Lightweight Observer/Pub/Sub system inspired by Symfony's Event Dispatcher