public static function create($url, $pipelineId, $apiToken, $password)
    {
        $baseUrl = $url . '/rest_services/v1/' . $pipelineId;

        $httpClient = new CurlHttpClient();
        $httpClient->setUserCredentials($apiToken, $password);

        $dateTimeFormat = Defaults::DATE_FORMAT;
        $repoFactory = new RestRepositoryFactory($baseUrl, $httpClient, $dateTimeFormat);

        $infoMethods = new RestInfoMethods($baseUrl, $httpClient);
        $entityTypes = array_flip($infoMethods->fetchEntityPublic());

        $client = new PipelinerClient($entityTypes, $repoFactory, $infoMethods);
        return $client;
    }