The CA should fail if the service doesn't exist. If you ask a service that doesn't exist: "what's your status", I expect to get back "service doesn't exist". And there's already a `Service_Exists` that you can pair this one with to make sure you're not calling a CA on a service that doesn't exist.

The entire CA would be written like this:

``` c++
    std::wstring service_name = msiInstall.GetProperty(L"SERVICE_CHANGE_SERVICE_NAME");
    
    AppSecInc::Service::ServiceManager scm;
    scm.Open();
    AppSecInc::Service::ServiceInstance service;
    service.Open(scm, service_name, SERVICE_...);
    
    switch (service.getCurrentState())
    ...
```