I think what you outline is the right way to go for the time being.
The "Client" class is being reworked to bet more of these deployment/controlling methods, to make it easier to deploy/cancel/restart jobs programatically, but that will probably take a few more weeks to converge.
Stephan