Changed callback API to chain calls; added tests; updated README