* Common interface to different TTS engines
* Handling concurrent synthesis requests – requests may come
asynchronously from multiple sources within an application
and/or from more different applications.
* Subsequent serialization, resolution of conflicts and
priorities of incoming requests
* Context switching – state is maintained for each client
connection independently, event for connections from
within one application.
* High-level client interfaces for popular programming languages
* Common sound output handling – audio playback is handled by
Speech Dispatcher rather than the TTS engine, since most engines
have limited sound output capabilities.