Did you tested more this implication? Why did you changed the order or link/link_deps after the setattr?
This could be a backward compatibility breaker. In some case, if you link _then_ set, it can cascade the dispatch to the linked dependencies. With this changes, it will not happen.