Yeah for new hardware a discrete VPW bus<> CPU interface and software VPW emulation in the CPU, a lot harder for sure but it means we never get caught with supply issues.
From what I know of the ELM it is pretty cool for a lot of comms stuff, but I don't think it would have the 'grunt' to be used for CAN programming applications where blocks of 2048 bytes are sent up at once.