control flow callback<->promise magic helper