a tiny pub/sub library