Would be nice if this is done in a factory method in the service.