On setup, we can call getRequiredVersion and ping() to confirm that the service
exists and that it is of a matching version semantically
E.g. if required version is ~2.5 and the api returns 2.6.3, then no issue
If returns 3.0.1, should log a warning
If returns 1.0.2, should throw error saying it isn't new enough
On setup, we can call getRequiredVersion and ping() to confirm that the service exists and that it is of a matching version semantically E.g. if required version is ~2.5 and the api returns 2.6.3, then no issue If returns 3.0.1, should log a warning If returns 1.0.2, should throw error saying it isn't new enough