The major caveat here is that the Montreal Canadiens are going to have to take on Laine's full contract and cap hit. This is going to hurt the Habs a bit, although it will only affect them for two seasons. If Laine is no good after two seasons, they can simply get rid of him, no questions asked.
Needless to say, the Canadiens fleeced the Blue Jackets on this deal. It was always going to be this way given the fact that Laine was the one who requested the trade. The team was going to have to acquiesce to a deal of some sort, and that is exactly what went down. Only time will tell whether or not the Laine experiment works out in Montreal.