a trivial implemention of event notification library