I think they've done a reasonable job of encouraging loyalty by allowing current teams to pay slightly more in max contracts, but I'd like to see that taken further really. I want a team to get salary cap exceptions based on a rolling average of length of time players have been on the team. Increases stability, encourages more attention to drafting and developing young players. At the same time shorten the max duration of rookie deals so players are empowered to leave if they feel their career is being harmed by the current situation. With that you've aligned the incentive for both team and player towards development. Currently teams can't invest in long term development over immediate production at least in part b/c they fear spending that effort on a guy just to watch him go to greener pastures when he hits free agency. Let the home team pay a lot more, let the salary cap be flexible according to loyalty, let young players be empowered, and reward veterans for loyalty. Vets are incentivized to help young guys have a good experience because if they stick around the teams cap overall goes up and that means more potential money for the vets.