Service Factory implementation