cleanup: PsServiceTypeFactory soplit into interface and implementation, moved to separate package