tests: more test cases
data: pass match to promise factories
descriptors: clone props before mutating them