Yeah, I know roughly what's there from when I looked at it the other evening -- sorry if I'm saying obvious things, since I haven't really looked at it for a little while.
In any case, I did notice a handful of direct calls to iso_write...() and iso_read...() that I thought should probably be abstracted to just a "get me this data" call. That stood out the most. Most of the code should know absolutely nothing about ISO, VPW, CAN, or even using the VSS line itself.
(From what I saw, there was no real attempt to keep the MPGuino code working in this code, which I think is a bit of a shame, since it could just be abstracted out as another bus. This is the main reason I'm on my soapbox
)