There's quite a few things developers would probably want to do each loop that really wouldn't fit into a task/tree node. Especially when developing base frameworks it would be very useful and clean to run generic logic (ensure roofs are disabled, run is enabled if above a certain threshold...