Got it to a working state.

Comitting now as I'll be writing large chunks.
Rewrote with MultiRec.

Not replicated all the functionality yet, but getting there.