attempt to run tasks only when things changed