Rename .then to .next, remembering the headache of Promises/A+.
Separated out chain methods, and added some semigroup things.
Started converting tests to new style.