I realize this is an older topic, but I think I have an easy work around while being able to continue the current system. Instead of having the wording saying "signed to 1 year contract", just change to specific season. If it is halfway through season 5, then when you offer a contract it should say "sign for season 5" or "sign for seasons 5-6". This way you know he is under contract for the remainder of season 5 and the entirety of season 6. This way will make it more clear about what you are getting, without having to re-haul the whole system. Personally I wouldnt be a fan if I got notices every 3-4 days telling me that i have a contract expiring; I like the fact they all end when the season ends, as it is more realistic. NHL teams can sign free agents in January, but they dont expire the following January, they expire at the end of the season.