### Tasks
- [x] Set all `TaskDriver.Configure...` methods to `protected`
- [x] Expose Cancel stream publicly
Rationale
Currently the configure methods on task driver instances are all public (ConfigureDriverJobTriggeredBy(), etc..).
Before task driver streams had consolidation phases it was necessary to schedule one task drivers jobs on another task driver's update phase. This is no longer the case.
Publicly exposing the configure methods is
No longer necessary
Allows task drivers to be created that are much more difficult to understand since their jobs aren't scheduled to run at the same phase that their backing system is.
Breaks the ability to reliably guard against duplicate scheduling on the same data stream with the same job (see TaskSet.Debug_EnsureNoDuplicateJobSchedulingDelegates())
It incorrectly prevents multiple instances of a task driver to listen to the data on a different, single, task driver instance's stream.
Rationale
Currently the configure methods on task driver instances are all public (
ConfigureDriverJobTriggeredBy()
, etc..).Before task driver streams had consolidation phases it was necessary to schedule one task drivers jobs on another task driver's update phase. This is no longer the case.
Publicly exposing the configure methods is
TaskSet.Debug_EnsureNoDuplicateJobSchedulingDelegates()
)