JobScheduler comes with a number of methods of implementing dependencies and workflow control.

Dependency Patterns

Split and Sync

Exit Code Handling

History Query

Events