Refactored BaseSvc into objects