Promises are first-class objects for function calls
blogs.fluidinfo.com