We definitely need a NEW story for not cramming all of the different request types onto one class - deploy/undeploy/launch - we need a well-defined "control bus" here with separate request types and more fine-grained handlers.

I think that (and many of the other suggestions) should be created as new stories though so we don't hold up this PR for too long since it touches so much of the codebase and may cause conflicts with other outstanding PRs.