We use contracts at my school and we 'sell' them to a 3rd party. While we work with our students a lot more than most (if they're injured we're credit them the amount of time they were out for no extra, if they're financially in trouble we'll freeze their account or find a price that's reasonable [or in same cases, like kids that don't have a choice, we'll let them take for free if they do some cleaning for us everytime they come in]), it can still be a problem when they cancel.
Most 3rd party collectors charge schools if a student breaks a contract. The standard I am aware of is 2 months + 10% of the remaining balance. For us, if they move more than X miles, have an injury or health condition w/ doctor's note, etc. they get out no problem and we'll help them.
While I don't like what happened in this situation, it's still something people have to be aware of when signing contracts. It does help business to have contracts and a 3rd party collectors (we have around 150 contracts with several hundred students, we'd have to hire someone full time just to keep track of money and chase down delinquency!), but repeat customers will increase your revenue and school performance more than snatching people like this.
And 2 years for a first contract? That's crazy.