Here's what we do,
Once a player is kept, he can be kept one more year at the same price. The following season he can be kept at the same price, but must be cut following the season, or he can be signed to a long term contract. Long term contract adds $10 to the players salary, contract term is for at least next 3 years, with $5 added on each subsequent season.
Here's an example:
I drafted Travis Hafner in our 2004 draft for $4, I kept him for the 2005 season for $4, and then signed him to a 4-year contract for $19.
Just another idea for you.