Refactored - created AbstractService