Simple pub/sub pattern implementation