Feature compute separation

@s-u, opening a PR on this to discuss
It's not quite subordinate - it's more a parallel process, so the queuing is done by the client - the control has practically no access to the compute process, that's why this may look somewhat awkward. The point of control is that it can operate while compute is busy, so we cannot have control send anything to compute directly since it would lock up in case compute is busy which is exactly what we wanted to avoid.  (FWIW I'll be in 33T on Monday).