In order to make this actually work like `q` its going to have to be a function with promise-like functions on it.