maybe we could always have 3 services, one for each type. if no hostName was configured, the purge/refresh would mandatory need a hostname in `$url`. you should know what you want to call, so you could inject/fetch the correct service. the same goes for the CacheManager.