Takes a function with node style API and makes it Promise