refactor: OP#242 separate service into smaller services

Problem to solve

Proposal