Great job so far! I like the idea of disconnecting the UI from the comm logic. In fact, this is along the lines of what we aim to to with the OSDash project. For example, there could be an "OBDII user interface" service that is drawn upon when you run the program.
Other users on different phones could use the interface even if they weren't running Voyager on a Droid. Several different interfaces could be designed and the user can choose them from the web interface.
If you're interested, head over to the OSDash forum and see what the deal is. There's already a VIN and DTC web service proposed. These two could work together to compliment each other.