Thanks Rob, that second article fills in a lot of important information that we would've had trouble reverse-engineering. Turns out to be quite a versatile interface.