Allow fork and join of tasks
It's sometimes useful to be able to perform multiple tasks simultaneously (eg one task may be updating some state in the background).
For example, a Scene may be taking input for some duration and updating an expiry widget based on the duration input and the current time. But the time itself can be changing, too; it would be nice if the expiry widget can be updated when the current time changes.