Refactor service into use cases