You are doing yourself a disservice by talking about "primitives" and "call state" without naming the actual, industry-standard mechanism you have built.
This is an ACD. In the cloud. Using common terminology gives other developers a reference point in which to do more research and draw their own conclusions about the technology. Even a reference and link to Wikipedia would be good -- the ACD page is lucid [1], and I understood exactly what an ACD does after reading that. I don't get the same sense about TaskRouter from the blog post.
You have a decent explanation of an ACD mechanism, but now telecom-inexperienced developers have to try and internalize your meaning without the benefit of knowing the precise jargon, and potentially missing out on the decades of experience others have had in this field.
From the WikiPedia page: "Routing incoming calls is the task of the ACD system".
TaskRouter isn't an ACD in that sense.. or no solely an ACD system anyway. It is an API driven way to distribute user defined tasks. It can serve as an ACD, such as routing calls to an available agent.. or.. SMS.. or chat.. or "tickets" or whatever you define as a Task and a Worker using.. primitives. No dependence on calls.
To your point.. maybe using the ACD would help some people understand it at first glance.
Sure, that's what the Wikipedia article says (since calls are what ACDs were originally designed for), but commercial ACDs have been multi-channel for a long time, doing all the things you mentioned.
This is an ACD. In the cloud. Using common terminology gives other developers a reference point in which to do more research and draw their own conclusions about the technology. Even a reference and link to Wikipedia would be good -- the ACD page is lucid [1], and I understood exactly what an ACD does after reading that. I don't get the same sense about TaskRouter from the blog post.
You have a decent explanation of an ACD mechanism, but now telecom-inexperienced developers have to try and internalize your meaning without the benefit of knowing the precise jargon, and potentially missing out on the decades of experience others have had in this field.
[1] http://en.wikipedia.org/wiki/Automatic_call_distributor