Schedule dependencies based on time in outputs
Instead of using the time of dependency modules to determine what to update, use the output's latest available data.
This allows components to skip pushes. Besides that, there are no changes for users or developers.
The old scheduling only worked if components push to all outputs in each update. However, some components might want to push skip pushes. This is possible with this change.
Edited by Martin Lange