small helper library that facilitates asynchronous (and some event driven) programming