The idea of progress tracking has multiple facets, namely:
- Designer tasks
- Designer/Gateway communciation tasks
The way that progress works is very different for the gateway vs. the designer/client, so this common interface is
only used to share constants between them.
For more information on each system, see ClientProgressManager and GatewayProgressManager.