With minimal tweaks, @Trinsdar's PR (#4) compiled and runs, so I accepted it to keep the momentum going. Now I need to go through more thoroughly and see what precisely it contained and what else we need to do ;)