I'm working on a large Winforms application dealing with large amounts of data exposed through grids. I see us eventually moving completely to an M-V-VM & WPF implementation but now we're still closer to a ball-of-mud than anything resembling loose coupling.
As we evolve toward cleaner separation of concerns, what are some specific patterns we can implement while still in the WinForms world but yielding a smoother transition once we take the WPF plunge? Specifically, is there any guidance on exploiting WinForms limited binding and event handling in a fashion that approximates WPF/MVVM?