We should define the interface for the function evaluator. As the function evaluator will be limited in what it will be able to access, we need to make sure that all necessary information is available to the evaluator.
The function evaluator should have at least one path (evaluate?) which takes a ZObject of the following shape:
Probably something that the evaluator will need is some kind of health check API so that the orchestrator (or/and anything working as load balancer) can check out availability of the different language services, or the current load state of these.