Refactored CheckOut use case.