a generic publish and subscribe framework for applications