Lua Promises library inspired by Q