breaking change: chain.next() now receives a callback, instead of returning a Future; bugfixes.