Fair enough. Hopefully this can be factored out / improved as we add the api state checks.