ECU Flash with Arduino


I have read about some Arduino based OBD2 scanners, data-loggers... But, im wondering is:

How can I build a ECU Reflash / Remap / programmer? and what parts of the Arduino system is required, with using a J2534 cross over OBD cable a specific algorithym for accessing the ECU HEX.

I Have a Can Bus Shield.

basically I want to create a simple hand-held OBD2 programmer, that you can select options via touchscreen or not, and re-flash the ECU with pre-configured ROMs for that ECU?