Add .then function
Include onError support for Function.future() and promise()
Add Promise.errorHandler handler