Improve then() and assimilation. Still more work to do. Add buster and a few tests ported from when