Fix promises to properly redirect values back