refactor(coupons): coupons cleanup using async.auto