Refactoring services for more genericity