Abstract asynchronous event notification library