Better boxon interop with promises, more tests