Move settings fetching into task so it can actually be used
Simplify and expand specifying upstream and logic to check if different