Add API stabs for promise, refactor then
Delete futures